JAVA操作EXCEL的一些局限性

来源:互联网 发布:手机淘宝描述在哪 编辑:程序博客网 时间:2024/06/06 18:07

JAVA操作EXCEL的一些局限性

  说到JAVA操作EXCEL,我们一般都会列举POI和JXL两种开源的解决方案。在实际的操作中我们会发现一些局限性。

   由于EXCEL本身就太复杂,还加上微软的版本更新很快,并且每个版本之间的差距较大。这对POI等的开发团队来说挑战性很大,并且由于开源是免费的,及时支持EXCEL的最新版需要一定的时间。

   1. 版本对应状况:

       MS EXCEL2007版和2000,2003版本差别很大,导致POI在3.5中采用了两套读取和操作方法(HSSF和XSSF)。HSSF是操作2007以前的版本,XSSF是操作基于OPEN XML规范的2007版本。这样的分类对我们开发来说工作量加大了。

       而JXL到目前为止并不支持MS EXCEL2007。

   2.图片的操作状况:

      POI和JXL都能够操作图片。JXL只支持PNG格式,POI支持PNG,JPG,JPEG等。

      但POI在操作插入图片时,如果原来的EXCEL模板文件里面有图片的话,这些文件会被清除掉。这个缺陷不能不说是非常让人郁闷的。

   3.AUTO SHAPE的支持状况:

      JXL不支持AUTO SHAPE,组织图,艺术字。这个缺陷也是非常让人郁闷的。

      POI虽然能够支持AUTO SHAPE,但在某些情况下会发生数据损坏的错误。也就是支持的稳定性并不是很高。

   4.工作薄保护和工作表保护

        POI和JXL都不支持工作薄保护。POI有访问密码保护功能。

        POI和JXL都支持工作表保护。

   当然如果对EXCEL的原理较为熟悉的话,可以对以上的开源代码进行改造,以让其满足自己的需求。同时也期望开源的发展更强大,让更多的人参与到开源的潮流中。