用jxl将数据写入文件,列数超过极限
我要将整理好的数据写入Excel里,即.xls或.xlsx文件。用的是jxl包。将数据写入到表格中,出现提示:
Java code
Warning: Could not add cell at A279 because it exceeds the maximum column limit
到网上查是因为达到256列的极限了。但是,按照网上说的.xlsx并不是这个极限(大约超过10000列,可以满足我的需求了)。
可是,我不知道用jxl如何设置才能按照.xlsx的形式输出。是有相应的类和方法,还是采取其它的手段?或者是这个包根本就不能改变这个极限。如果不能,那有其它的包,可以满足我的需求么?我就是想突破256列的这个极限。谢谢!
------解决方案--------------------
似乎是不支持xlsx的,可以考虑用Aspose.Cell,能力非常强大,内存开销低,稳定性高。
但可惜是商业版,生成的文件会带水印 =_=
http://www.aspose.com/categories/java-components/aspose.cells-for-java/key-features.aspx
------解决方案--------------------原来总用jxl 也用惯了 但是相对cell来说有点麻烦,起码如果河滨单元格的话就比较麻烦。所以现在还是用cell吧 免费版有水印。你说的256极限,他是考虑到内存的开销问题,应该破不了吧
------解决方案--------------------
csv就是文本文件,按照文本文件输出就行,不需要其他软件包,唯一的问题就是格式的问题。原则上用excel打开csv文件时,csv文件中每一行对应于excel显示的每一行。一行之中,csv文件里用逗号隔开,在excel显示时,就会显示两个单元格,例如:a,b 在excel中就会显示两个单元格,一个内容是a,一个内容是b;这是最基本的。总有特殊的情况,比如说我想把a,b显示在一个单元格里,就需要在这个字符串前后加引号,再比如我想把引号显示在单元格里,又要做一些特殊处理。在网上搜索一下吧,如何输出csv文件。
你可以先简单的试试,新建一个文本文件,内容就是a,b 然后文件扩展名改为csv,然后用excel打开。
------解决方案--------------------
csv就是纯文本文件,里面只有用户数据,和分隔符。
xls不但保存了用户数据,并且还保存了数据类型和显示的格式,以及一些用户自定义的函数什么的。
如果楼主用jxl存在列数限制,那么,有三种途径可以尝试:
1、使用支持新版Excel的jxl,楼主使用的版本,估计不支持更多的列。
2、尝试使用其他第三方的Jar包。如:POI、Cell等。
3、使用csv文件,只存储数据,不保存其他信息。