NPOI Excel导出超出65536行报错 Invalid row number (65536) outside allowable range (0..65535)解决方法

一、NPOI  Excel导出超出65536行报错 Invalid row number (65536) outside allowable range (0..65535)解决方法

 

用Excel 2003格式创建Excel表格:

HSSFWorkbook workbook = new HSSFWorkbook(); //创建一个新的工作簿
HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("Sheet1");//创建第一个Sheet1页,括号内是工作簿的名字
//设置字体,大小,对齐方式
HSSFCellStyle style = (HSSFCellStyle)workbook.CreateCellStyle();//设置填充方案
HSSFFont font = (HSSFFont)workbook.CreateFont();//字体设置

......

发现报错:Invalid row number (65536) outside allowable range (0..65535),

 

在 Excel 早期版本中,默认的工作薄扩展名为".xls",:最大256(IV,2的8次方)列,最大65536(2的16次方)行;即横向256个单元格,竖向65536个单元格。

Office 2007 版本起,Excel 默认的工作薄扩展名为".xlsx",最大16384(XFD,2的14次方)列,最大1048576(2的20次方)行;

即横向16384个单元格,

竖向1048576个单元格。

解决办法:把上面的HSSF改为XSSF后,导出1000000条数据,不会报错,问题得到解决。

二、解决方案

1.程序控制条数,10万以内

2.使用XSSFWorkbook  操作导出 使用方式一样

  private XSSFWorkbook _workbook = null;     
_workbook = new XSSFWorkbook();

 

 

更多:

.Net Excel操作之NPOI,操作Excel单元格富文本,单元格颜色处理

.Net Excel操作之NPOI,操作Excel单元格自动换行

.Net Core NOPI操作word(二) 表格操作

posted @ 2022-05-24 19:52  天马3798  阅读(3358)  评论(0编辑  收藏  举报