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;

}

相关推荐
我命由我1234520 小时前
Android 开发问题:TextView 内容超过宽度时,默认不会换行
android·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
计算机安禾20 小时前
【c++面向对象编程】第36篇:析构函数应永远不抛出异常——原因与最佳实践
开发语言·c++
小飞侠是个胖子20 小时前
在 WebGL 中构建高性能 3D 沉浸式系统的三套高阶方案
前端·3d
一条泥憨鱼20 小时前
【Java 进阶】LinkedHashMap 与 TreeMap
java·开发语言·数据结构·笔记·后端·学习
wh_xia_jun20 小时前
Vue3 + Vitest 浏览器测试 从零开发指南
前端·javascript·vue.js
凤山老林20 小时前
63-Java LinkedList(链表)
java·开发语言·链表
FlyWIHTSKY20 小时前
区块链前端技术栈介绍
前端·区块链
唐青枫20 小时前
别再让 key 写成字符串:TypeScript keyof 从入门到实战
前端·javascript·typescript
恣艺20 小时前
用Go从零实现一个高性能KV存储引擎:B+Tree索引、WAL持久化、LRU缓存的工程实践
开发语言·数据库·redis·缓存·golang
一点一木1 天前
深度体验TRAE SOLO移动端7天:作为独立开发者,我把工作流揣进了兜里
前端·人工智能·trae