gpt4 book ai didi

c# - OpenXML如何检查工作表中的一行是否为空

转载 作者:行者123 更新时间:2023-12-02 03:56:52 25 4
gpt4 key购买 nike

我想检查电子表格中标题行旁边的一行是否为空。如果它是空的,我想删除工作表。到目前为止,我只能让它查看单元格 A2 并检查它是否为空,但有没有办法检查整行?

谢谢

private void CheckForEmptyRow(WorkbookPart wbp, string sheetId)
{
Sheet sheet = wbp.Workbook.Descendants<Sheet>().FirstOrDefault(s => s.Id == sheetId);
WorksheetPart wsp = (WorksheetPart).(wbp.GetPartById(sheetId));
Cell cell = wsp.Worksheet.Descendants<Cell>().Where(c => c.CellReference == "A2").FirstOrDefault();

If (cell == null)
{
sheet.Remove();
wbp.DeletePart(wsp);
}

}

最佳答案

John,尝试 row==null 似乎对我不起作用。无论出于何种原因,我们试图解析的电子表格似乎有数百个空行,但不是空行。看起来有些数据作为某个点被放入那里并被清除。我最终使用下面的代码返回有效行。理论上你可以在任何检查上做 !row.Elements().Any(ce => ce.DataType != null)

    List<Row> rows = sheetData.Elements<Row>()
.Where(r => r.Elements<Cell>().Any(ce => ce.DataType != null)
)
.ToList()
;

关于c# - OpenXML如何检查工作表中的一行是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43530035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com