C# 导出到Excel (使用NPOI 1.2.4)
最近研究下用C#导出Excel。最后选择要用NPOI来导出。在网上看到了好多的教程啊。于是我兴奋的模仿起来了。先创建个空的excel试试吧。结果:提示无法将类型“NPOI.SS.UserModel.Sheet”隐式转换为“NPOI.HSSF.UserModel.HSSFSheet”。存在一个显式转换(是否缺少强制转换?)。看了好多的教程都是一样的写法。看来问题是在我这了。但是我的库是新下载的,最新的啊。
经过仔细的研究发现很多的名字改变了。于是开始了。。。。
按行列导出数据:
HSSFWorkbook hssfworkbook = new HSSFWorkbook(); //命名空间:using NPOI.HSSF.UserModel;
Sheet sheet1 = hssfworkbook.CreateSheet("Sheet1"); //命名空间:using NPOI.SS.UserModel;
sheet1.CreateRow(0).CreateCell(0).SetCellValue("This is a Sample"); //在第一行,第一列添加一个值
sheet1.CreateRow(1).CreateCell(0).SetCellValue("This is a test");
Row row = sheet1.CreateRow(2); //创建第三行。
row.CreateCell(1).SetCellValue("test"); //在第三行第一列加入值 这两行效果和上面那两行是一样的。创建多行用Row代码清晰
sheet1.AutoSizeColumn(0); //会按照值的长短 自动调节列的大小
sheet1.AutoSizeColumn(1);
using (FileStream file = new FileStream(@"test.xls", FileMode.Create))
{
hssfworkbook.Write(file); //创建test.xls文件。
file.Close();
}
上面的代码就是导出行列数据的核心代码。 NPOI库提供了很多功能,例子也很多。
下载地址:http://npoi.codeplex.com/releases/view/56605