看板 Perl 關於我們 聯絡資訊
※ 引述《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
yaya80306: 感謝你專業的回覆,我的perl是5.8.8,沒有到很新版, 05/24 07:40
yaya80306: 待會來試試看,感謝感謝 05/24 07:40