【问题标题】:C# EPPlus OpenOfficeXml Formatting cellsC# EPPlus OpenOfficeXml 格式化单元格
【发布时间】:2017-06-27 16:08:51
【问题描述】:

我正在使用 EPPlus 库来创建一个 excel 文件。 我有一些列显示字符串值,但这些值被处理为日期的数值。我想格式化单元格以将值作为字符串而不是日期。

例如:

原始值:1171-2、1.1、1.2、1.3
Excel 值:-266229、42736、42767、42795

我正在使用:

excelWorksheet.Cells[row, column].Style.Numberformat.Format = "@";

但它不起作用。

如何格式化单元格以显示原始值。

【问题讨论】:

    标签: c# excel format epplus


    【解决方案1】:

    “@”格式指示 Excel 将值视为文本,而不是数字。

    在没有看到您的代码的情况下,我无法解释为什么 excel 会像您显示的那样转换您的值,所以这里有一个用于设置单元格格式的代码示例:

            using (var xlsx = File.Create("Text.xlsx"))
            using (var pkg = new ExcelPackage())
            {
                var ws = pkg.Workbook.Worksheets.Add("Sheet1");
                var r = 0;
                ws.Cells[++r, 1].Value = "Values";
                ws.Cells[++r, 1].Value = 1171.2;
                ws.Cells[++r, 1].Value = 1.1;
                ws.Cells[++r, 1].Value = 1.2;
                ws.Cells[++r, 1].Value = 1.3;
                ws.Column(1).Style.Numberformat.Format = "General"; // Default
                //ws.Column(1).Style.Numberformat.Format = "0.00";    // Numeric with fixed decimals
                //ws.Column(1).Style.Numberformat.Format = "@";       // Text
                pkg.SaveAs(xlsx);
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      • 2016-06-26
      相关资源
      最近更新 更多