【问题标题】:Converting Excel cell to percentage using epplus使用epplus将Excel单元格转换为百分比
【发布时间】:2020-10-17 07:44:43
【问题描述】:

我想将值转换为小数点后 2 位。我正在使用 EPPlus 如果值为 66.6666667 并且我想将其显示为 66.66% 我尝试了以下代码,但它不起作用。

   foreach (var dc in dateColumns)
   {
       sheet.Cells[2, dc, rowCount + 1, dc].Style.Numberformat.Format = "###,##%";
   }

请帮忙。

【问题讨论】:

    标签: c# epplus


    【解决方案1】:

    我找到了!

    我试过了

     foreach (var dc in dateColumns)
      {
        sheet.Cells[2, dc, rowCount + 1, dc].Style.Numberformat.Format ="#0\\.00%";
       }
    

    【讨论】:

    • 只有“0.00%”时才有效。所以没有'#'和没有'\'。否则值除以百,这样存储的值和显示的值就不一样了。
    【解决方案2】:

    正确的公式如下:

     foreach (var dc in dateColumns)
      {
        sheet.Cells[2, dc, rowCount + 1, dc].Style.Numberformat.Format ="#0.00%";
      }
    

    "#0\\.00%" 中的双斜线会在您稍后尝试扩展小数位时导致非常不寻常的数字

    【讨论】:

    • 唯一的事情是,如果你已经有了百分比值,你需要将它除以 100,以便在 Excel 中打开工作表时正确显示。
    【解决方案3】:

    据我检查,您通过 epp 设置的格式只是一种常见的 Excel 单元格格式。

    就我而言,this 真的很有帮助

    【讨论】:

      【解决方案4】:

      如果您想在单元格范围内执行此操作。你可以使用

      using (ExcelRange Rng = wsDashboard.Cells["B6:J6"])
      {
          Rng.Style.Numberformat.Format = "#0\\.00%";
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 1970-01-01
        相关资源
        最近更新 更多