【问题标题】:C# EPPlus multiple cell formatting not applyingC# EPPlus 多单元格格式不适用
【发布时间】:2020-07-07 10:40:46
【问题描述】:

我正在使用 EPPlus 从数据表生成 excel 文件。我只有两行。我在第一行应用 % 格式,在第二行应用 $ 格式,但我的两行在前两行得到相同的 % 格式,这是错误的。我无法捕捉到发生这种情况的原因。为什么第二个格式没有应用到第二行是 $ 格式。

查看我使用范围应用格式的这一行。

    ws.Cells["C0:P0"].Style.Numberformat.Format = "#,###,##0.0%;(#,###,##0.0%)";
    ws.Cells["C1:P1"].Style.Numberformat.Format = "$##,##0.0;($##,##0.0)";

在上面的代码中,我提到了带有格式的单元格范围,但我的两行只获得了第一个格式和第二个格式没有考虑...不清楚为什么会这样?

示例代码

using (OfficeOpenXml.ExcelPackage obj = new OfficeOpenXml.ExcelPackage(FileLoc))
{
                // creating work sheet object
                OfficeOpenXml.ExcelWorksheet ws = obj.Workbook.Worksheets.Add("Vertical");
                // freezing work sheet columns and rows
                ws.View.FreezePanes(2, 3);
                // exporting data to excel
                ws.Cells["A1"].LoadFromDataTable(selected, true);
                // setting calumns as autofit
                ws.Cells[ws.Dimension.Address].AutoFitColumns();
                //fixing height of column
                ws.Row(1).Height = 16;
                ws.Row(1).Style.Fill.PatternType = ExcelFillStyle.Solid;
                ws.Row(1).Style.Fill.BackgroundColor.SetColor(Color.LightGray);
                
                obj.Save();
                
                ws.Cells["C0:P0"].Style.Numberformat.Format = "#,###,##0.0%;(#,###,##0.0%)";
                ws.Cells["C1:P1"].Style.Numberformat.Format = "$##,##0.0;($##,##0.0)";  
}

Excel 数据的屏幕截图。看到图片中的前两行,绝对理解 #,###,##0.0%;(#,###,##0.0%) 这种格式适用于前两行,但在我的代码我为第二条记录提供了不同的格式。

请帮助我找出我的代码中的错误之处。谢谢

【问题讨论】:

    标签: c# excel epplus


    【解决方案1】:

    嗯,有几个错误。首先,您是在设置格式之前保存的,所以它没有被应用。

    其次,Excel地址以1为底,不存在“C0”和“P0”。另请注意,第一行是列标题,因此您可能需要第 2 行和第 3 行。尝试以下操作:

    ws.Cells["C2:P2"].Style.Numberformat.Format = "#,###,##0.0%;(#,###,##0.0%)";
    ws.Cells["C3:P3"].Style.Numberformat.Format = "$##,##0.0;($##,##0.0)";
    obj.Save();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2011-09-04
      • 1970-01-01
      相关资源
      最近更新 更多