简体   繁体   English

ClosedXML:大型Excel文件删除列

[英]ClosedXML: large Excel file delete column

I am trying to manipulate large excel file using ClosedXML. 我正在尝试使用ClosedXML处理大型Excel文件。 Its taking infinite time to process. 它需要无限的时间来处理。 For example.. deleting 10 columns in a 30MB file, never returned! 例如..删除30MB文件中的10列,永不返回! Has anybody else experienced similar issue for ClosedXML. 其他人是否遇到过ClosedXML的类似问题。 My code is in C#. 我的代码在C#中。 Below is sample. 以下是示例。

protected void deleteYears(IXLWorksheet ws)
    {
        // Remove columns
        List<IXLColumn> deletecols = (from p in ws.Rows("6").CellsUsed()
                                      where p.Value.ToString().ToUpper().StartsWith("XYZ")
                                      select p.WorksheetColumn()).ToList<IXLColumn>();
        foreach (IXLColumn x in deletecols)
        {
            x.Delete();
        }
    }

You should implement "better lambdas" https://github.com/ClosedXML/ClosedXML/wiki/Better-lambdas 您应该实现“更好的lambdas” https://github.com/ClosedXML/ClosedXML/wiki/Better-lambdas

protected void deleteYears(IXLWorksheet ws)
{
    // Remove columns
    List<IXLColumn> deletecols = ws
        .Row(6)
        .CellsUsed(c => c.Value.ToString().ToUpper().StartsWith("XYZ"))
        .Select(c => c.WorksheetColumn()).ToList();

    foreach (IXLColumn x in deletecols)
    {
        x.Delete();
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM