如果格式化單元作爲貨幣的,您有4種選擇:
每個款式的內部格式如下:
-NT $ 1,234.10
< numFmt formatCode = 「」 NT $ 「#,## 0.00」 numFmtId = 「164」/>
[RED] NT $ 1,234.10
< numFmt formatCode = 「」 NT $ 「#,## 0.00; [紅色]」 NT $ 「#,## 0.00」 numFmtId = 「164」/>
-NT $ 1,234.10
< numFmt formatCode = 「」 NT $「#, ## 0.00 _);(「NT $」#,## 0.00)「numFmtId =」「/>
[RED] -NT $ 1,234.10
< numFmt formatCode = 「」 NT $ 「#,## 0.00 _); [紅色](」 NT $ 「#,## 0.00)」 numFmtId =」 「/>
注意:在NT $之前和之後有一對雙引號(」)。
(要獲得XLSX的內部格式,只需將其解壓縮形式信息是可用<解壓目錄> \ XL \ Styles.xml看看這個answer如果您需要了解更多信息。)
(供參考:在formatCode
中,'0'代表一個數字,'#'代表一個數字,但如果數字不夠大,則不會出現,所以任何少於1000的數字都不會有逗號。'_'在格式3中,'1.75'顯示爲'NT $ 1.75',最後一個是空格。)
(供參考:在numFmtId
中,對於案例1和案例2,編號164是fo r用戶定義的。對於情況3和4,7號和8是build-in style。)
對於使用POI/NPOI開發者,你可能會發現,如果格式化使用0x7的或0x8中使用Build In Format您的貨幣列,你只能得到第三或第四選擇。你無法獲得第一或第二選擇。
要獲得第一個選擇,您可以建立在樣式0x7 "$#,##0.00);($#,##0.00)"
上。您需要在其前面添加貨幣符號和雙引號。
styleCurrency.DataFormat = workbook.CreateDataFormat().GetFormat("\"NT$\"#,##0.00");
將此格式應用於帶編號的單元格。一旦你打開Excel結果文件,右鍵點擊檢查格式,你會看到第一個選擇。
請隨時評論這篇文章。