Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#EPPlus多单元格格式不适用_C#_Excel_Epplus - Fatal编程技术网

C#EPPlus多单元格格式不适用

C#EPPlus多单元格格式不适用,c#,excel,epplus,C#,Excel,Epplus,我正在使用EPPlus从数据表生成excel文件。我只有两排。我在第一行应用%formatting,在第二行应用$formatting,但我的两行在第一行和第二行应用相同的%formatting,这是错误的。我无法理解发生这种情况的原因。为什么在第二行$formatting上不应用第二种格式 ws.Cells["C0:P0"].Style.Numberformat.Format = "#,###,##0.0%;(#,###,##0.0%)";

我正在使用EPPlus从数据表生成excel文件。我只有两排。我在第一行应用%formatting,在第二行应用$formatting,但我的两行在第一行和第二行应用相同的%formatting,这是错误的。我无法理解发生这种情况的原因。为什么在第二行$formatting上不应用第二种格式

    ws.Cells["C0:P0"].Style.Numberformat.Format = "#,###,##0.0%;(#,###,##0.0%)";
    ws.Cells["C1:P1"].Style.Numberformat.Format = "$##,##0.0;($##,##0.0)";
请参见我使用范围应用格式的这一行

    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%)此格式适用于前两行,但在我的代码中,我为第二行记录提供了不同的格式

请帮助我在代码中找到错误的内容。谢谢


嗯,有几个错误。首先,您要在设置格式之前保存,因此不会应用它

第二,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();

嗯,有几个错误。首先,您要在设置格式之前保存,因此不会应用它

第二,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();