Re: [問題] 關於excel cell format

看板Perl作者 (Crazy Rhythm)時間10年前 (2015/04/01 04:01), 10年前編輯推噓1(104)
留言5則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《bonsaixxx (爆菊非主流)》之銘言: : 想請問各位大大 : 我想把一個既有的 xlsx檔案完全複製道一個新的xlsx檔 : 因為目前的SaveParser module不支援xlsx功能 : 所以我用for 迴圈暴力硬上,配上Writer::XLSX這個模組一個 cell一個cell複製 : 有個問題是我不知道要怎麼設定欄寬 跟color那些cell的設定 : 有在網路上找到 : format_orgin=cell->get_format : 然後在 : format_new= copy(format_org) : 這種方式 : 可是好像沒用@@ : 想請問有沒有更便捷的方法 : 謝謝 假設你說的Writer::XLSX是指Excel::Writer::XLSX 欄寬設定值是用set_column() 寫入xlsx也是靠這module 要取得欄寬的話 Spreadsheet::ParseXLSX (下稱SPX) 可以處理xlsx檔 而它內部是用parse xls檔的 Spreadsheet::ParseExcel 的物件在儲存內部資料 雖然SPX的文件沒說得很清楚, 不過我大約看了一下它的確寫有處理xlsx的欄寬的程式碼 應該可以用 Spreadsheet::ParseExcel::Worksheet::get_default_col_width() 取得欄寬吧 至於另一個xlsx parser---- Spreadsheet::XLSX 約略看了一下功能有些簡略, 加上似乎相較起來年久失修(近5年), 所以沒有再細看了 其他讀寫xlsx or xls的方式…… ODF::lpOD, win32 OLE 或透過 Libreoffice的api當中介? 可能要再研究看看 -- ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1427832068.A.A4B.html

04/01 18:15, , 1F
我上次用 xlsx 試了一些方法.... 最後是用 IO::Compres
04/01 18:15, 1F

04/01 18:16, , 2F
s::Zip 和 IO::Uncompress::Unzip 去讀寫裡面的 xml 檔
04/01 18:16, 2F

04/01 18:16, , 3F
還蠻快的 XD
04/01 18:16, 3F

04/01 20:01, , 4F
樓上擁有出個M$ office document parser的潛力 \(╯▽╰) /
04/01 20:01, 4F
※ 編輯: flu (36.234.220.68), 04/01/2015 20:02:24

04/02 16:37, , 5F
不完整啊~ 只有剛好作到我要的功能而已 ^^|
04/02 16:37, 5F
文章代碼(AID): #1L6lq4fB (Perl)
討論串 (同標題文章)
文章代碼(AID): #1L6lq4fB (Perl)