实用POI操作EXECEl

实用POI操作EXECEl

ID:37526322

大小:234.00 KB

页数:16页

时间:2019-05-24

实用POI操作EXECEl_第1页
实用POI操作EXECEl_第2页
实用POI操作EXECEl_第3页
实用POI操作EXECEl_第4页
实用POI操作EXECEl_第5页
资源描述:

《实用POI操作EXECEl》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实用POI操作EXECEl上好的人肉包子新鲜出炉啦,各位妖魔鬼怪赶紧来尝尝鲜……    首先说说现在我所知道的java编辑Excel文件的两大开源工具:jakartapoi和JavaExcelAPI(简称JXL),这两套工具我都试用了一这段时间,感觉各有优劣吧。poi在某些细节有些小Bug并且不支持写入图片,其他方面都挺不错的;JXL就惨了,除了支持写入图片外,我暂时看不到它比POI好的地方,我碰到的主要的问题就是对公式支持不是很好,很多带有公式的Excel文件用JXL打开后,公式就丢失了(比如now(),today()),在网上看到其

2、他大虾评论说JXL写入公式也有问题,另外,JXL操作Excel文件的效率比POI低一点。经过比较后,我选择了poi开发我的项目。    现在我要做的东西基本完成啦,我把这段时间使用poi的一些心得总结出来,希望能对和我遇到相同问题的朋友有所帮助,少熬几个夜,多点时间陪MM:),至于poi基本的使用方法,自己去看文档吧。    1、设置分页符的bug。    poi里的HSSFSheet类提供了setRowBreak方法可以设置Sheet的分页符。    Bug:如果你要设置分页符的Sheet是本来就有的,并且你没有在里面插入过分页符,那

3、么调用setRowBreak时POI会抛出空指针的异常。    解决方法:在Excel里给这个sheet插入一个分页符,用POI打开后再把它删掉,然后你就可以随意插入分页符了。    如果sheet是由poi生成的则没有这个问题。我跟踪了setRowBreak的源代码,发现是Sheet.java下的PageBreakRecordrowBreaks这个变量在搞鬼,如果Sheet里原来没有分页符,开发这个模块的那位兄台忘了为这个对象new实例,所以只能我们先手工给Excel插入一个分页符来触发poi为rowBreaks创建实例。    2、

4、如何拷贝行。    我在gmane.org的poi用户论坛翻遍了每个相关的帖子,找遍了api,也没看到一个拷贝行的方法,没办法,只能自己写:    //注:this.fWorkbook是一个HSSHWorkbook,请自行在外部new  publicvoidcopyRows(StringpSourceSheetName,StringpTargetSheetName,intpStartRow,intpEndRow,intpPosition)  {  HSSFRowsourceRow=null;  HSSFRowtargetRow=null

5、;  HSSFCellsourceCell=null;实用POI操作EXECEl上好的人肉包子新鲜出炉啦,各位妖魔鬼怪赶紧来尝尝鲜……    首先说说现在我所知道的java编辑Excel文件的两大开源工具:jakartapoi和JavaExcelAPI(简称JXL),这两套工具我都试用了一这段时间,感觉各有优劣吧。poi在某些细节有些小Bug并且不支持写入图片,其他方面都挺不错的;JXL就惨了,除了支持写入图片外,我暂时看不到它比POI好的地方,我碰到的主要的问题就是对公式支持不是很好,很多带有公式的Excel文件用JXL打开后,公式就

6、丢失了(比如now(),today()),在网上看到其他大虾评论说JXL写入公式也有问题,另外,JXL操作Excel文件的效率比POI低一点。经过比较后,我选择了poi开发我的项目。    现在我要做的东西基本完成啦,我把这段时间使用poi的一些心得总结出来,希望能对和我遇到相同问题的朋友有所帮助,少熬几个夜,多点时间陪MM:),至于poi基本的使用方法,自己去看文档吧。    1、设置分页符的bug。    poi里的HSSFSheet类提供了setRowBreak方法可以设置Sheet的分页符。    Bug:如果你要设置分页符的S

7、heet是本来就有的,并且你没有在里面插入过分页符,那么调用setRowBreak时POI会抛出空指针的异常。    解决方法:在Excel里给这个sheet插入一个分页符,用POI打开后再把它删掉,然后你就可以随意插入分页符了。    如果sheet是由poi生成的则没有这个问题。我跟踪了setRowBreak的源代码,发现是Sheet.java下的PageBreakRecordrowBreaks这个变量在搞鬼,如果Sheet里原来没有分页符,开发这个模块的那位兄台忘了为这个对象new实例,所以只能我们先手工给Excel插入一个分页符

8、来触发poi为rowBreaks创建实例。    2、如何拷贝行。    我在gmane.org的poi用户论坛翻遍了每个相关的帖子,找遍了api,也没看到一个拷贝行的方法,没办法,只能自己写:    //

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。