使用EPPlus在Excel中插入一行

我没有看到使用EPPlus在现有的Excel文件中插入行的方法。 我知道InsertRow函数,但是这不会在最后插入行 – 类似于sql中的insert语句。 如果这是不可能的,我将如何findExcel文件中最后使用的行。

这是一种使用EPPlus在Excel工作表中查找表格中最后一个单元格的方法。

private ExcelRange GetLastContiguousCell(ExcelRange beginCell) { var worksheet = beginCell.Worksheet; var beginCellAddress = new ExcelCellAddress(beginCell.Start.Row, beginCell.Start.Column); var lastCellAddress = worksheet.Dimension.End; var bottomCell = worksheet.Cells[beginCellAddress.Row, beginCellAddress.Column, lastCellAddress.Row, beginCellAddress.Column] .First(cell => cell.Offset(1, 0).Value == null); var rightCell = worksheet.Cells[beginCellAddress.Row, beginCellAddress.Column, beginCellAddress.Row, lastCellAddress.Column] .First(cell => cell.Offset(0, 1).Value == null); return worksheet.Cells[bottomCell.Start.Row, rightCell.Start.Column]; } 

但是,重要的一点是,假设第一行和第一列没有差距。 我使用这种方法的情况下,第一行是列标题(不能为空),第一列是主Id列(也不能为空)。 如果你的情况与此不同,你将不得不改变方法,但希望它仍然有帮助。

编辑

我刚想到,你可能只是能够使用worksheet.Dimension.End没有所有其他的代码。 我使用这个更复杂的方法,因为我有时会在工作表中放置除表格外的其他信息,而且我不希望将其包含在计算中。

使用下面的代码

 worksheet.Dimension.End.Row 

这应该给最后使用的行信息。