那就是 Excel 的儲存格格式。
雖然從 Tony Qu 大大的文章中得知了一些設定的必要條件,
文章中說明了當使用 Excel 內嵌的格式與 Excel 所支援的自訂格式設法,
當使用內嵌格式時只要使用 HSSFDataFormat.GetBuiltinFormat 將該格式產出即可,其方法如下所示:
HSSFCellStyle style = workbook.CreateCellStyle();
style.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00");
目前 POI 的文件中有提到目前內建支援的格式,詳情請點我
依上序的程式碼將會使用數字固定包含兩位小數點的格式顯示。
說了這麼多,還是沒有提到我的問題所在,詳細的問題請觀看下圖
[caption id="attachment_349" align="alignnone" width="615" caption="Excel 自訂格式設置"][/caption]
當我要給予數字格式為帶千分位與負數使用括弧表示時,一直沒有辦法使用,其寫法如下:
HSSFCellStyle style = workbook.CreateCellStyle();
HSSFDataFormat format = workbook.CreateDataFormat();
style.DataFormat = format.GetFormat("#,##0.00_);[紅色](#,##0.00)");
在使用這個方法,在Excel開啟時它告訴我無法找到相關的格式資料。
後來查到上述 POI 內建格式的文件時才發現,它的紅色是打英文的... @@
將「紅色」改為「Red」就可以了..
HSSFCellStyle style = workbook.CreateCellStyle();
HSSFDataFormat format = workbook.CreateDataFormat();
style.DataFormat = format.GetFormat("#,##0.00_);[Red](#,##0.00)");
沒有留言:
張貼留言