Re: [問題] 請問Excel 字串寫入問題

看板Perl作者 (rxiang)時間8年前 (2017/05/24 02:05), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《yaya80306 (赫)》之銘言: : 請問一下 : 在linux環境下用perl 建立excel檔 : 若要在某一欄寫入“10E2” : 打開excel 檔總會顯示1000而不是10E2 : 我已經把excel 欄位設定成文字格式 : 依舊變成1000 : 也嘗試過 "'10E2" 和 " 10E2" 但我不想要出現' 或空白 ,因為會導致其它自動化程式 : 異常 : 請問各位大大有無正確寫法 : 非常感謝 Hi~ 這是 Excel 設定的問題, 所以你必須先了解 Excel 的格式 像是 0.00E+00 就是 MS 官方推薦的科學記號格式 雖然你沒講明說用什麼 module, Excel 格式等等~ 所以我假設你使用 Spreadsheet::WriteExcel 這個 module (file extension: .xls) PS 若 extension 是較新的 .xlsx 就用 Excel::Writer::XLSX 不過不少公司沒用這麼新的啦XD 提供以下 snippet,請注意設定 format 的部分: (cells 位置自訂囉) ================================================================ my $workbook = Spreadsheet::WriteExcel->new('output.xls'); # Add a worksheet my $worksheet = $workbook->add_worksheet(); # Define your format my $format = $workbook->add_format(); # Add a format $format->set_num_format('00E0'); # Defined your cells $worksheet->write_number('A1', 10E2, $format); $worksheet->write_number('A2', 10E20, $format); ================================================================ 如果設定還是出現問題,也許你可考慮多寫一個 Excel Parser, 在執行其他程式前去把數字轉換回來XD Refs: MS官方說明 如何控制及瞭解 Excel 中儲存格格式對話方塊的設定 https://goo.gl/NTr0t0 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.212.72 ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1495562728.A.8B6.html

05/24 07:40, , 1F
感謝你專業的回覆,我的perl是5.8.8,沒有到很新版,
05/24 07:40, 1F

05/24 07:40, , 2F
待會來試試看,感謝感謝
05/24 07:40, 2F
文章代碼(AID): #1P97deYs (Perl)
討論串 (同標題文章)
文章代碼(AID): #1P97deYs (Perl)