如何使用c#将Winform下DataGridView中内容导出到Excel
2个回答
展开全部
需要使用插件,
1、微软的EXCEL插件,(DLL) ,需要运行程序的机器上安装的有对应版本的EXCEL,慢。
2、NPOI(第三方),不需要其他约束,二进制处理,极快。
两种插件思路都是按照 单元格来处理EXCEL读写,可以自己查询文档,很简单的。
比如
var st1 = wk.GetSheetAt(0);// EXCEL的第一个sheet。
var row = st1.GetRow(0);//该sheet的第一行。
var cell = row.GetCell(0); //该行的第一个单元格,
然后就是赋值了,
cell.SetCellValue = "你要赋的值";
然后遍历整个sheet 就OK了。
最后存起来。
using (Stream s = File.OpenWrite(Path+".xlsx"))
{
wk.Write(s);
}
DataGrid其实格式和Excel一样的, 你一次取一行,然后从第一列开始遍历,给EXCEL赋值就好了.
var value = Mydatagrid.Row[i][j]; 其实就是个数据表,分别指定行数和列数,就取出来值了。
自己转换一下数据类型,给EXCEL就OK了。、
1、微软的EXCEL插件,(DLL) ,需要运行程序的机器上安装的有对应版本的EXCEL,慢。
2、NPOI(第三方),不需要其他约束,二进制处理,极快。
两种插件思路都是按照 单元格来处理EXCEL读写,可以自己查询文档,很简单的。
比如
var st1 = wk.GetSheetAt(0);// EXCEL的第一个sheet。
var row = st1.GetRow(0);//该sheet的第一行。
var cell = row.GetCell(0); //该行的第一个单元格,
然后就是赋值了,
cell.SetCellValue = "你要赋的值";
然后遍历整个sheet 就OK了。
最后存起来。
using (Stream s = File.OpenWrite(Path+".xlsx"))
{
wk.Write(s);
}
DataGrid其实格式和Excel一样的, 你一次取一行,然后从第一列开始遍历,给EXCEL赋值就好了.
var value = Mydatagrid.Row[i][j]; 其实就是个数据表,分别指定行数和列数,就取出来值了。
自己转换一下数据类型,给EXCEL就OK了。、
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询