现在再java中,我通过poi往存在的excel模板的单元格中入力数据,这excel中存在计算公式。
因为要取得入力后计算公式的结果值,用poi直接取值的时候,不能取得当前最新计算出的数值。
所以我有用到openoffice将这个excel通过流的形式重新保存一下,然后再读取当中的数据,是没有问题的。然而如果这个excel模板中存在“宏”,再进行openoffice的处理时,打开的excel文件就是的只有一个“sheet1”
的0byte的空文件。
请问 openoffice对“宏”可以正常保存吗?有什么特殊的处理吗?附加问题:POI往excel模板中set数据时,对excel的size有限制吗?
          (我进行poi处理时使用1.5M的excel模板往里set数据时,excel中的内容正常,如果往2M以上的excel中set数据时,再打开excel文件提示有些数据丢失,导致excel中的内容被破坏,一些入力的内容不能被表示。)

解决方案 »

  1.   

    往excel中写入数据,我用过jxl,只有行数限制 65535行,65535列,超过了溢出,我想POI和jxl差不多吧,应该会有65535的限制,而本身字节数应该不限制的2M的模板中可能有某些标记,POI无法识别宏的那个问题,没有这样使用过,不了解openoffice对于excel宏的处理,不过既然excel有宏,就会牵扯到安全级问题,有可能是本身安全级的问题影响的,看看设置本身模板的安全级降低一些,要么看看openoffice有没有对于打开的excel模板的安全性的选项