在數據網格中,我顯示使用標準格式字符串格式化的數值,在這種情況下爲「N02」。當我將這些數據導出爲excel時,我想將excel列的格式設置爲相同。有沒有辦法評估當前語言環境的「N02」格式並獲取實際的格式字符串?c# - 有沒有什麼方法可以訪問像「N02」這樣的標準數字格式字符串?
如果不是,我想我必須嘗試使用當前的NumberFormat的NumberNegativePattern,NumberGroupSizes,NumberGroupSeparator和NumberDecimalSeparator屬性來重構它,但我真的不喜歡我獲得該權利的機會我的區域/文化。
這是我想爲我的Excel互操作調用設置什麼:
((範圍)excelSheet.Columns [columnLetter + 「:」 + columnLetter,Type.Missing])。NumberFormat的= XXXXX;
我希望爲XXXXX既「N」和「N02」,我知道我可以使用這樣的: 「#,## 0.00; - #,## 0.00」爲「N02」 但這使整個文化具體化。
什麼是最終產品的目的是什麼?如果excel表單最後包含數字或字符串,這有什麼關係?如果(cell!= null && IsNumeric(cell))cell = String.Format(「{0:N02}」,cell);'(僞代碼)解決它嗎?字串是我所知道的控制Excel的格式到那種程度的唯一途徑。但在另一方面我不是一個Excel-COM-PRO:P – flindeberg
我相當肯定的是,當你設置Excel的NumberFormat的編程,你無論文化如何,始終使用不變的格式。只有在通過Excel UI設置NumberFormat時才能使用支持文化的字符串。 – Joe
謝謝你們 - 我需要它保持在Excel格式的數字,而不是一個字符串,因此將與不變格式的方法去 – madz