2011-10-04 77 views
1

我將不勝感激一個答案如何解決以下問題。使用CarlosAg.ExcelXmlWriter的十進制數字

我使用CarlosAg.ExcelXmlWriter,並在Excel中格式化十進制數字時遇到問題。

例如:我有SQL字段TestField,十進制(15,2))與值123.45

當我轉移的結果(數據集和一些C#例程)到Excel與CarlosAg.ExcelXmlWriter結果總是12345 - 好像Carlos不能正確識別十進制數字。

我試圖格式化的SQL方和卡洛斯側和結果數據總是級聯數(123.45 - > 12345)

的一種側面說明 - 我沒有那種鑄造成數「解決」問題varchar,但這是我們的客戶不能接受的,因爲他不能在excel中格式化字符串(比如做SUM等),他希望Excel字段是明確的數字而不是字符串。

我幾乎舒爾有一些簡單的答案。

感謝 達米爾

我想卡洛斯的NumberFormat:

  //style2.NumberFormat = "Scientific";     
      //style2.NumberFormat = "General Number"; 
      //style2.NumberFormat = "###,###.00"; 
      //style2.NumberFormat = "###.###,00"; 

回答

-1

...

case "System.Decimal": 
case "System.Double": 
wc = new WorksheetCell(dtrrow[col.ColumnName].**ToString().Replace(",",".")**, DataType.Number, style_number); 
row.Cells.Add(wc); 

...