使用Microsoft.Office.Interop.Excel将数据以双精度格式导出到Excel时出现问题。
像
这样的数字-49,65454324566(使用逗号作为小数分隔符)
代码中的导出为
-4965454324566
没有逗号,点或任何小数分隔符。
只有
之类的数字0,988946533164
,即小于1,以正确的格式导出。
我尝试过使用NumberFormat,但我对整数或小数的carachters没有任何限制,这意味着,我希望有123,456789或123456,789之类的数字。所以我不知道NumberFormat是否符合我的需要。
只是为了表明,我正在做类似的事情:
Excel.Range cel = (Excel.Range)excel.Cells[1, 1];
cel[r, c] = table.Rows[r][c];
我也试过了:
Excel.Range cel = (Excel.Range)excel.Cells[1, 1];
cel[r, c] = table.Rows[r][c];
cel[r, c].NumberFormat = "#,#";
和NumberFormat的变体为“0,0”,“#0,#0”......
答案 0 :(得分:2)
使用逗号作为小数点分隔符,您不能使用en-US区域设置。您需要检查以确保Excel知道这一点,或者在将数字发送到Excel之前将其转换为en-US设置。您可以使用.ToString()重载中的函数。
i.ToString(new System.Globalization.CultureInfo("en-US").NumberFormat);