[alibaba/easyexcel]写入50万行,但是打开就65533行

2024-05-23 839 views
7

触发场景描述 写入50万行打开就65533行 触发Bug的代码

   这里写代码

提示的异常或者没有达到的效果

回答

6

是不支持,还是没考虑到,这个感觉是16位整数溢出了。

7

Excel 2003的最大行数是65536,你看看是不是跟Excel的版本有关系

5

一个sheet页支持的行数: 对excel 2003版,最大行数是65536行; 2、对2007以上版本,最大行数是1048576行。 代码中支持的行参数 relativeHeadRowIndex 使用了Integer类型,故边界值为0、1、2的32次方-1: 从你设的值看,建议换excel 2007或以上版本

3

一个sheet页支持的行数: 对excel 2003版,最大行数是65536行; 2、对2007以上版本,最大行数是1048576行。 代码中支持的行参数 relativeHeadRowIndex 使用了Integer类型,故边界值为0、1、2的32次方-1: 从你设的值看,建议换excel 2007或以上版本

我是macbook pro,我没设置什么啊,如果是ubuntu呢,会有多少行。

8

一个sheet页支持的行数: 对excel 2003版,最大行数是65536行; 2、对2007以上版本,最大行数是1048576行。 代码中支持的行参数 relativeHeadRowIndex 使用了Integer类型,故边界值为0、1、2的32次方-1: 从你设的值看,建议换excel 2007或以上版本

主要是导出订单,很容易就超过这个了,ubuntu和mac,貌似没有考虑到,

4

Excel2003的保存格式为xxx.xls,其后缀名名为.xls。 Excel2007及更高版本的保存格式为xxx.xlsx,其后缀名名为.xlsx。

你看看你文件的保存格式是什么,easyexcel是可以选择写入的文件的格式的,如果数据量太大,可以分成几个sheet进行保存。

6

Excel2003的保存格式为xxx.xls,其后缀名名为.xls。 Excel2007及更高版本的保存格式为xxx.xlsx,其后缀名名为.xlsx。

你看看你文件的保存格式是什么,easyexcel是可以选择写入的文件的格式的,如果数据量太大,可以分成几个sheet进行保存。

我用的是demo中的例子。写的是xlsx. 我把demo直接copy到我们工程,在mac上跑的。 所以格式是ok的。

  1. 请问在mac上进行过测试吗?
  2. 没换多个sheet,是因为有时候需要做一些筛选,运算等。分成多个sheet,不是很方便。
8

我这边的环境是windows和linux,没有mac。我在windows环境下试了WriteTest.java里边的indexWrite( ),把data( )函数里的循环次数改成50万,往excel里写入50万条数据没问题,你可以按照这个操作在mac环境下试试,如果能写入数据还不正常,可能就是兼容性的问题了,如果写入数据正常,那可能就是你其他地方代码或者写入的数据有问题了。

6

xls 6万 xlsx 100万

8

xls 6万 xlsx 100万

你mac上试了吗,mac上我导出的格式,就是xlsx,也是六万行。