npoi导出excel乱码(npoi导出excel的格式)
程序员文章站
2022-07-06 21:47:16
此方式会通过3篇文章将关于excel的一些日常操作给实现出来,分别为:读取、写入、格式设置等;让其可以满足我们的日常工作需求。本篇要记录的是使用npoi创建excel文件并将数据写入。实现功能:使用n...
此方式会通过3篇文章将关于excel的一些日常操作给实现出来,分别为:读取、写入、格式设置等;让其可以满足我们的日常工作需求。
本篇要记录的是使用npoi创建excel文件并将数据写入。
实现功能:
使用npoi的方式将datagridview中的数据导出到excel
开发环境:
开发工具: visual studio 2013
.net framework版本:4.5
实现代码:
首先需要导入以下命名空间:
using npoi.hssf.usermodel;
using npoi.hssf.util;
using npoi.ss.usermodel;
using npoi.ss.util;
using npoi.xssf.usermodel;
using system.io;
datatable dt = datagridview1.datasource as datatable;
//指定excel所在路径
string excelpath = "d:\2.xlsx";
//以文件流创建excel文件
filestream fs = new filestream(excelpath, filemode.openorcreate, fileaccess.readwrite);
//offic2007以上
iworkbook workbook = new xssfworkbook();
//offic2007以下
if (excelpath.tolower().endswith(".xls"))
{
workbook = new hssfworkbook();
}
//创建一个sheet页
isheet sheet = workbook.createsheet("sheet1");
//创建第一行数据并将表头写进去
irow rowhead = sheet.createrow(0);
for (int j = 0; j < dt.columns.count; j++)
{
rowhead.createcell(j).setcellvalue(dt.columns[j].columnname);
}
//将数据逐行写入
for (int i = 0; i < dt.rows.count; i++)
{
irow row = sheet.createrow(i + 1);
for (int j = 0; j < dt.columns.count; j++)
{
row.createcell(j).setcellvalue(convert.tostring(dt.rows[i][j]));
}
}
workbook.write(fs);
//资源释放
workbook.close();
至此,一个简单地导入excel功能就完成了,下一篇介绍下关于设置excel样式的一些操作。
下一篇: 男人的福利图片,美女如云