不同文化的 EPPlus 号码格式

EPPlus Number Format according to different Culture

This the Excel Screenshot link to show example 在特定的单元格中,它包含双精度值但在单元格中显示四舍五入的值。

喜欢 如果单元格中的值为 553236 但原始值为 553236.456001

并且只有在单击该特定单元格时才能在顶部栏中看到此值。

但我的问题是我已经将原始值转换成意大利货币,如何使它像上面一样

为了将值转换为意大利文化,我使用了如下代码

Convert.ToDouble(cellValue).ToString("C", CultureInfo.CreateSpecificCulture("it-IT")).Split(' ')[0]

使用拆分不显示货币符号

您需要格式化数据单元格。

通过设置以下 属性 分配数字或自定义格式:

dataCell.Style.Numberformat.Format

在 Excel 本身中生成您的自定义格式,然后只需复制该格式并将其设置为 属性.

以上

您可以访问 Excel 中的单元格格式,方法是右键单击单元格并选择单元格格式。

经过多次尝试

cell.Value = Convert.ToDouble(cellValue,new CultureInfo("it-IT").NumberFormat);

cell.Value = Convert.ToDouble(cellValue).ToString("N",System.Globalization.CultureInfo.CreateSpecificCulture("it-IT")).Split(',')[0];

我了解到根据文化的数字格式或数字取决于您系统所在的区域。如果数字被转换为不同的文化并且没有显示或显示错误的格式,那是本地系统区域的原因。如果您将地区更改为该特定文化。你会得到完美的答案。 我只是按照我的国家格式在代码中使用

cell.Style.Numberformat.Format = "#,##0";

它用这个很好用。将代码提交到 svn 后,当我尝试从主网站导出 Excel 时,它根据系统的区域工作得很漂亮。如果我更改为意大利语,Excel 输出数字为意大利语格式,而当我更改为 Indian 时,数字为印度数字格式。

所以不要担心你想要什么样的文化,根据你的文化写作,一切都很好。 在此之上,如果您仍想根据特定文化获取数字,请使用上面的第二个代码,但问题是您将获得存储为文本的数字。你不能添加或做任何估值。