0

使用 Microsoft.Office.Interop.Excel 将双格式数据导出到 Excel 时遇到问题。

像这样的数字

-49,65454324566(使用逗号作为小数分隔符)

在代码中导出为

-4965454324566

没有逗号、点或任何小数分隔符。

只有数字像

0,988946533164

即,小于 1,以正确的格式导出。

我尝试过使用 NumberFormat,但我对整数或十进制字符的数量没有任何限制,这意味着我想要像 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”...

4

1 回答 1

2

使用逗号作为小数分隔符,您没有使用 en-US 区域设置。您需要检查以确保 Excel 知道这一点,或者在将数字发送到 Excel 之前将其转换为 en-US 设置。您可以使用 .ToString() 重载中的函数。

i.ToString(new System.Globalization.CultureInfo("en-US").NumberFormat);
于 2013-02-08T18:03:32.023 回答