C#EPPlus OpenOfficeXml格式化单元格

时间:2017-06-26 21:38:39

标签: c# excel format epplus

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

例如:

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

我正在使用:

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

但它不起作用。

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

1 个答案:

答案 0 :(得分:1)

" @" format指示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);
        }