1
回答
POI 导出Excel 异常

在使用POI 导出excel文件后,该文件的sharedStrings.xml内容丢失,
导致再用该文件导入时,调用  SharedStringsTable sst = r.getSharedStringsTable(); 无法获取实际内容
必须将导出文件打开保存一下才能生成sharedStrings.xml内容,不知道是什么原因

POI
举报
fantasyisking
发帖于5年前 1回/265阅
共有1个答案 最后回答: 5年前


Excel的存储模式有两种,一种是ShareStrings(标准),另一种是inlineString(兼容模式),前者更适合大文件的存储。

一个inlineString的XML片段如下:

<c r="A1">
  <is>
    <t>String</t>
  </is>
</c>

(注:中间那行是 <t>String</t>)

这种定义的方式表明,单元格的值不需要从ShareStrings.xml里去找。其实这是一种兼容模式的存储方式,它的好处就是读取与写入速度更快。

如果你用Excel打开,再保存的时候,一般会用标准的ShareStrings模式存储。



--- 共有 2 条评论 ---
若海回复 @fantasyisking : 你试着升级一下POI 的Jar包试下,好像现在最新的版本是3.10 5年前 回复
fantasyisking有没有办法用POI 导出的时候直接用ShareStrings模式写入,现在默认用inlinestring,没办法直接再读取啊,还要打开再保存,太麻烦了 5年前 回复
顶部