我开发了一个 Excel 插件,以便用户可以将一些数字从服务器插入到他们的工作表中。现在我正在尝试使用插入的数据格式化单元格。
因为我的用户属于不同的国家,所以插件的格式应该基于他们的文化。
- 有些使用句点作为小数分隔符,有些使用逗号。
- 有些使用逗号作为千位分隔符,有些使用空格或句点。
- 有些使用分数货币,有些则不使用。
现在我使用 NumberFormatInfo 类并手动生成 NumberFormat 字符串。这是代码:
NumberFormatInfo nfi = NumberFormatInfo.CurrentInfo;
StringBuilder sbFormat = new StringBuilder();
sbFormat.Append("#");
if (nfi.CurrencyGroupSeparator == "?")
sbFormat.Append(" ");
else
sbFormat.Append(nfi.CurrencyGroupSeparator);
sbFormat.Append("##0");
if (nfi.CurrencyDecimalDigits > 0)
{
sbFormat.Append(nfi.CurrencyDecimalSeparator);
sbFormat.Append(new string('0', nfi.CurrencyDecimalDigits));
}
cell.NumberFormat = sbFormat.ToString();
我不知道这段代码是否涵盖了所有模式。希望使用 Excel 默认提供的东西,但我找不到。
任何想法?
谢谢!