【问题标题】:Epplus row height issueEpplus 行高问题
【发布时间】:2017-07-05 11:55:03
【问题描述】:

我有一个超过 1000 行的 excel 文件。每行包含一些数据和 2 张图像。 图片附加为OfficeOpenXml.Drawing.eEditAs.OneCell

填充完 Excel 后,我运行它来设置行高。

int prodTableStart = 3;
int prodTableEnd = 1025;

while (prodTableStart <= prodTableEnd)
{
    ws.Row(prodTableStart).Height = 112d; // works, but mega slow
    prodTableStart++;
}

我试图用这样的东西加快速度:ws.Cells["A" + prodTableStart + ":L" + prodTableEnd].Rows 但返回一个int? 那么如何在选定的行范围内设置行高?

当我有这么多行时,它甚至永远不会结束。不抛出异常。这个过程需要永远。

ps。我在 C# 中的 .Net 4.6.2 上使用 epplus 最新的 nuget (4.1.0)

【问题讨论】:

  • 你找到解决办法了吗?
  • 不记得了,抱歉

标签: epplus epplus-4


【解决方案1】:

在 EPPlus 中设置行高真的很慢。您可以非常快速地为所有行设置行高,而不是一一更新多行的行高:

workSheet.DefaultRowHeight = 500;

如果您不想设置所有行高,您现在可以将这些行的行高一一设置回之前的默认值。 如果需要更新高度的行数多于不需要更新高度的行数,此解决方案会更快。

【讨论】:

    【解决方案2】:

    对于 4 年后寻找此内容的任何人:出于某种原因,调整包含图像的行的大小会显着减慢速度。为了提高效率,请在添加图像之前计算并设置行高。您可能需要添加包含所有文本信息的行,其中包含图像所在的字符串。空单元格,然后在为行设置高度后添加它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多