【问题标题】:Localizing value for Excel cell using spreadsheetgear (.Net)使用电子表格 (.Net) 本地化 Excel 单元格的值
【发布时间】:2014-10-10 05:22:36
【问题描述】:

我正在尝试使用 .Net spreadsheetgear dll 本地化 excel 单元格值,当我尝试生成 excel 时,我将葡萄牙数字格式称为“[=0]0;###.###,00”应该将值显示为 2.265,65 ,但这没有发生,它显示为 2,265.65(“。”没有被“,”替换为葡萄牙语),请帮助我在 excel 中是否有任何限制或者我们需要应用任何其他数字格式

谢谢 苏达

【问题讨论】:

    标签: asp.net vb.net excel spreadsheetgear


    【解决方案1】:

    您可以通过在 SpreadsheetGear 中创建或打开工作簿文件时传递特定的 CultureInfo 类型来控制工作簿的某些本地化方面,例如货币、日期以及数字组和小数分隔符。 Factory.GetWorkbook(...) 和 Factory.GetWorkbookSet(...) 方法被重载以接受这个 CultureInfo 对象。如果您未指定 CultureInfo 对象,SpreadsheetGear 默认为“en-US”。

    我的猜测是您的工作簿集当前使用的是“en-US”,因为您没有指定葡萄牙语 CultureInfo 类型。下面是一个示例,应该演示如何使用 SpreadsheetGear 让您的上述 NumberFormat 按预期显示:

    // Create a new workbook specifying "pt-BR" CultureInfo
    IWorkbook workbook = Factory.GetWorkbook(CultureInfo.GetCultureInfo("pt-BR"));
    IWorksheet worksheet = workbook.ActiveWorksheet;
    IRange cells = worksheet.Cells;
    cells["A1"].NumberFormat = "[=0]0;###.###,00";
    cells["A1"].Value = 2265.65;
    Console.WriteLine(cells["A1"].Text);
    // Output: 2.265,65
    

    【讨论】:

    • 我试过了。它不工作。我退出了 2,265.65。葡萄牙语格式不适用。
    • 那么请为您的问题添加更多细节,包括您使用的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 2019-12-25
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    相关资源
    最近更新 更多