作者coolcomm (coolcomm)
看板java
标题[工具] 请问Apache POI是不是很烂...
时间Tue Jan 8 15:32:19 2013
我学习Java/Scala只是兴趣而已
最近在写一个处理Excel档案的程式
遇到了一些奇怪的问题...
例如明明只有取出Workbook中的第一个Sheet而已
但第二个Sheet的内容也被更动= =
Apache POI的bug是不是很多?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.224.127.27
1F:→ PsMonkey:==" 你到底想要问什麽? 还是我乾脆帮你办投票? 01/08 15:58
※ 编辑: coolcomm 来自: 36.224.127.27 (01/08 16:03)
2F:→ coolcomm:只是想看看版友的经验 那标题改成[工具]好了 01/08 16:04
3F:→ swpoker:ms的office本来就不好弄~ 01/08 16:08
4F:推 hgs1906:用来分屍过 doc docx xls xlsx 到是没遇到怪问题… 01/08 16:35
5F:→ PsMonkey:重点是你的问题只能回答「Yes/No」是要问什麽? 01/08 16:38
6F:→ coolcomm:所以我改标题了 01/08 16:44
7F:→ mp19990920:板主大大何必针对语句, 他的意思就是询问Apache POI的 01/08 20:34
8F:→ mp19990920:使用经验啊 01/08 20:35
9F:→ kogrs:office文件本来就很难搞了 要求非官方的library要做好 真的 01/08 20:36
10F:推 kogrs:强人所难, excel 的还比较单纯 ,word的更麻烦 01/08 20:42
11F:→ vencil:就我使用上的经验来说没遇过奇怪的问题 01/09 08:16
12F:→ vencil:也许你该说一下你对POI文件的了解程度跟你的使用目的、过程 01/09 08:19
已经找到问题了 如果想修改一个Cell的CellStyle
会使用cell.getCellStyle()来取得CellStyle
再用cellStyle.setXXX()修改
但在XLS档案之中 事实上可能会有很多的Cell对应到一个CellStyle上
亦即更改一个Cell的CellStyle时 可能会有很多Cell的样式改变...
(连其他Sheet的储存格格式都有可能变)
解决方法很简单 只要开一个新Cell设定CellStyle再贴过去就好了
※ 编辑: coolcomm 来自: 118.160.195.97 (01/09 12:04)
13F:→ daith:目前用 POI处理excel,会先初始map 存放cellstyle,之後使用 01/10 01:01