Excel导出--突破
在做项目的时候,经常有数据导出的需求,当数据量较小的时候,随便找个例子参数一下,还可以应对;
但是随着数据的增长,问题也随之而来,比较当数据量超过65536的时候,当单元格的字符数超过255的时候,有些实现方式就显示力不从心了。
实践发现,NPOI的表现还是不错的,因为上面的问题根本不是问题。
准备:
1. 下载NPOI http://npoi.codeplex.com/releases
2. 顺手的开发工具
代码如下:
class Program { static void Main(string[] args) { writeExcel(); Console.WriteLine("done"); Console.ReadKey(); } static void writeExcel() { IWorkbook wb = new XSSFWorkbook(); ISheet tb = wb.CreateSheet(); //标题 IRow header = tb.CreateRow(0); ICell headerCell = header.CreateCell(0); headerCell.SetCellValue("序号"); headerCell = header.CreateCell(1); headerCell.SetCellValue("内容"); //内容 for (int i = 0; i < 100000; i++) { IRow row = tb.CreateRow(i + 1); ICell cell = row.CreateCell(0); cell.SetCellValue(i + 1); cell = row.CreateCell(1); cell.SetCellValue("抗日战争暨世界反法西斯战争胜利70周年抗日战争暨世界反法西斯战争胜利70周年抗日战争暨世界反法西斯战争胜利70周年抗日战争暨世界反法西斯战争胜利70周年抗日战争暨世界反法西斯战争胜利70周年"); } using (FileStream fs = File.OpenWrite(@"e:\test.xls")) { wb.Write(fs); } } }
更详细的资料请参数NPOI官方文档:
http://npoi.codeplex.com/documentation