winform导出数据到Excel中
winform导出数据到Excel中
最近在工作中有一个需求是将FlexCell中Grid表中的数据Excel导出,借助Microsoft.Office.Interop.Excel可以轻松实现打印。下面贴代码:
private void btnExport_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application _excel = new Microsoft.Office.Interop.Excel.Application();//打开Excel运行环境
_excel.Visible = true;//显示Excel程序
_excel.DisplayAlerts = false;
Microsoft.Office.Interop.Excel.Workbook _book = _excel.Workbooks.Add(true);//以服务器上的Excel为模板新建Excel。
Microsoft.Office.Interop.Excel.Worksheet _ws = (Microsoft.Office.Interop.Excel.Worksheet)_book.Worksheets[1];//读取第一页。
for (int i = 0; i < Grid.Rows; i++)
{
for (int j = 1; j < Grid.Cols; j++)
{
Microsoft.Office.Interop.Excel.Range _range = _ws.Cells[i + 1, j] as Microsoft.Office.Interop.Excel.Range;
_range.Value2 = "'" + Grid.Cell(i, j).Text;
_range.Borders.LineStyle = 1;
}
}
_ws.PrintPreview();//启动预览
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
在使用range时,我发现使用Range.Value和Range.Value2属性对单元赋值并无区别。
在网上查询了一下,很多blog说C#中不支持Range.Value,但我实际试验下来是支持(也有可能是早期C#版本不支持)。
在Microsoft官方文档中找到了一个关于Value和Value2的说明。需要可以移步Value2、Value。
官方说明中这样注明了一条:
————————————————
版权声明:本文为CSDN博主「NETer_P」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42528820/article/details/116084137