winform 使用MiniExcel 动态读取EXCEL文件 动态加载列跟数据

var excelData = MiniExcel.Query(txtFileName.Text);

if (excelData.Count() <= 0)

{

MessageBox.Show("当前的Sheet页没有读取到对应的数据!");

}

else

{

DataRow dr = null;

int intI = 0;

foreach (IDictionary<string, object> row in excelData)

{

var rowsKeys = row.Keys.ToList();

var rowsValues = row.Values.ToList();

for (int i = 0; i < rowsKeys.Count; i++)

{

if (intI == 0)

{

dataGridTable.Columns.Add(rowsValues[i] == null ? "" : rowsValues[i].ToString(), typeof(string));

}

else

dr[i] = rowsValues[i];

}

if (intI > 0)

{

dataGridTable.Rows.Add(dr);

}

dr = dataGridTable.NewRow();

intI++;

}

dataGridInfo.DataSource = dataGridTable;

}

相关推荐
FQNmxDG4S5 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
ZC跨境爬虫5 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
前端老石人5 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang5 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
幼儿园技术家5 小时前
前端如何设计权限系统(RBAC / ABAC)?
前端
虹科网络安全6 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje6 小时前
Java语法进阶
java·开发语言·jvm
老前端的功夫6 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287926 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
止语Lab6 小时前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang