1

我开发了一个 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 默认提供的东西,但我找不到。

任何想法?

谢谢!

4

0 回答 0