你的位置:首页 > 软件开发 > ASP.net > 大数据插入Excel报错处理

大数据插入Excel报错处理

发布时间:2016-01-07 22:00:07
发现问题: 最近运行程序时,发现了一个问题,就是在导出excel时,报了一下错误 分析问题: 原来是由于NPOI这个动态库导致的,然后看了下版本,发现是1.2.5。然后百度了下,发现这个版本的NPOI只支持office2003,二office2003最多支持65536行,找到问 ...

发现问题:

最近运行程序时,发现了一个问题,就是在导出excel时,报了一下错误

大数据插入Excel报错处理

分析问题:

原来是由于NPOI这个动态库导致的,然后看了下版本,发现是1.2.5。然后百度了下,发现这个版本的NPOI只支持office2003,二office2003最多支持65536行,找到问题,下面就开始处理问题

解决问题:

从NPOI考虑:继续用这个版本的动态库,只是在插入数据的时候,加个判断,如果数据条数大于65536时,就在创建一个sheet

从office考虑:考虑使用跟高的Office,发现NPOI的2.1.3支持更高版本的office

我的处理方式:

方式一:不换动态库,还是老古董

static void Main(get='_blank'>string[] args){  IWorkbook wk=new HSSFWorkbook();  ISheet sheet = wk.CreateSheet("StudentK");  ISheet sheet2 = wk.CreateSheet("TeacherL");      Stopwatch sw =new Stopwatch();  sw.Start();  for (int i = 0; i < 75535; i++)  {    if (i<=65535)    {      IRow row = sheet.CreateRow(i);      row.CreateCell(0).SetCellValue("Kimisme");      row.CreateCell(1).SetCellValue(i.ToString());      row.CreateCell(2).SetCellValue(DateTime.Now.ToString("s"));    }    else if (i > 65535)    {      IRow row = sheet2.CreateRow(i-65536);      row.CreateCell(0).SetCellValue("Kimisme");      row.CreateCell(1).SetCellValue(i.ToString());      row.CreateCell(2).SetCellValue(DateTime.Now.ToString("s"));    }  }  sw.Stop();  Console.WriteLine(sw.ElapsedMilliseconds);  sw.Restart();  using (FileStream writer =File.OpenWrite("老古董.xls"))  {    wk.Write(writer);  }  Console.WriteLine(sw.ElapsedMilliseconds);  Console.WriteLine("ok");  Console.ReadKey();}

原标题:大数据插入Excel报错处理

关键词:excel

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录