ClosedXML 解析数字中的逗号

ClosedXML parsing comma in number

我刚刚下载了 ClosedXML 用于我正在编写的一个小应用程序。在应用程序中,我从数据库加载一些数据以输出到 Excel 文件。我的本地数字格式使用逗号表示小数点。看起来 ClosedXML 无法将这些识别为数字,结果它们被保存为文本,我必须在打开文件时手动转换它们。

我尝试将单元格的 DataType 设置为 XLCellValues.Number,但是当我这样做时,会抛出异常,例如 "Cannot set data type to Number because '1534,8250' is not recognized as a number." 看来这是来自 ClosedXML 的使用CultureInfo.InvariantCulture,而不是 CultureInfo.CurrentCulture

有什么方法可以解决这个问题,除了用句点替换所有逗号之外 and/or 重新编译 ClosedXML 项目以使用 CurrentCulture?

您应该始终以 Culture-inspecific 格式存储数据。文化应该只用于呈现数据。

这意味着,正确的解决方案是在保存到 XML 时,您不应该使用数字的格式化字符串。 Excel 应该为特定文化做数字的表示。