EPPlus数字格式根据不同的文化



这是Excel屏幕截图链接,用于显示示例在特定单元格中,它由两个值组成,但在单元格中显示四舍五入的值。

类似于如果在单元格中,值为553236,但原始值为553236.456001

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

但我的问题是,我已经将原始价值转换为意大利货币,如何使其与上述相同

  • 在意大利文化中,553236.456的值将转换为553.236456
  • 必须仅显示553.236,当单击特定单元格时,顶部栏上的值应为553236.456

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

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

使用拆分不显示货币符号

经过多次试验,如

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输出的数字是意大利语格式,而当我改为印度人时,数字是印度人的数字格式。

所以,不要担心你想要的任何文化,一定要根据你的文化写作——一切都很好。如果你仍然想根据特定的区域性获得数字,请使用上面的第二个代码,但问题是你会将数字存储为文本。你不能添加或做任何估价。

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

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

dataCell.Style.Numberformat.Format

在Excel中生成自定义格式,然后复制该格式并将其设置为上述属性。

右键单击单元格并选择"设置单元格格式",可以访问Excel中的单元格格式。

相关内容

  • 没有找到相关文章

最新更新