【发布时间】:2020-05-17 02:33:29
【问题描述】:
任务
从excel导入数据到DataTable
问题
一些不包含任何数据的行将被跳过,并且该行中包含数据的下一个行被用作空行的值
在 Excel 中,当我使用 openxml 转换 excel 时,总共有 37 行 到 Datatable 它跳过空行并仅读取 29 行
WorksheetPart worksheetPart = (WorksheetPart)spreadSheetDocument.WorkbookPart.GetPartById(relationshipId);
Worksheet workSheet = worksheetPart.Worksheet;
SheetData sheetData = workSheet.GetFirstChild<SheetData>();
IEnumerable<Row> rows = sheetData.Descendants<Row>();
foreach (Row row in rows) //this will also include your header row...
{
DataRow tempRow = dt.NewRow();
int ko = row.Descendants<Cell>().Count();
for (int i = 0; i < row.Descendants<Cell>().Count(); i++)
{
tempRow[i] = GetCellValue(spreadSheetDocument, row.Descendants<Cell>().ElementAt(i));
}
dt.Rows.Add(tempRow);
}
【问题讨论】:
-
可能和这个问题一样的问题:stackoverflow.com/questions/3837981/…
-
空单元格对我来说不是问题。它来得很完美。当我有一个空行时,它会跳过行。在 Excel 中总共有 37 行它只读取了 29 行。
-
下面我的回答对您解决问题有帮助吗?还是您需要更多输入来解决它?
标签: c# excel datatable openxml worksheet