看板 Perl 關於我們 聯絡資訊
※ 引述《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
CindyLinz: 我上次用 xlsx 試了一些方法.... 最後是用 IO::Compres 04/01 18:15
CindyLinz: s::Zip 和 IO::Uncompress::Unzip 去讀寫裡面的 xml 檔 04/01 18:16
CindyLinz: 還蠻快的 XD 04/01 18:16
flu: 樓上擁有出個M$ office document parser的潛力 \(╯▽╰) / 04/01 20:01
※ 編輯: flu (36.234.220.68), 04/01/2015 20:02:24
CindyLinz: 不完整啊~ 只有剛好作到我要的功能而已 ^^| 04/02 16:37