[英]Insert a row in Excel using EPPlus
我沒有看到使用EPPlus在現有excel文件中插入行的方法。 我知道InsertRow函數,但是這不會在末尾插入行 - 類似於sql中的insert語句。 如果這不可能,我如何找到excel文件中最后使用的行。
使用以下代碼
worksheet.Dimension.End.Row
這應該給出最后使用的行信息。
這是一個使用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];
}
然而,一個重要的注意事項是,假設第一行和第一列沒有間隙。 我將此方法用於第一行用於列標題(不能為null)並且第一列是主Id
列(也不能為null)的情況。 如果您的情況與此不同,您將不得不調整方法,但希望它仍然有用。
編輯
我剛想到你可能只能使用worksheet.Dimension.End
而不需要所有其他代碼。 我使用這種更復雜的方法,因為我有時會在工作表中添加除表之外的其他信息,我不希望將其包含在計算中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.