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

 

posted on 2015-08-31 22:09  makeit  阅读(449)  评论(0编辑  收藏  举报

导航