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单元格富文本,单元格颜色处理