NPOI 操作 Word-表格 AddRow 第 2 个参数

作者:vkvi 来源:ITPOW(原创) 日期:2020-12-23

AddRow

可以不指定第 2 个参数,表示将行追加到最后。

如果要指定第 2 个参数,则表示将行添加到第 2 个参数对应行的上方。但这个参数不能越界,也就是说指定了第 2 个参数,即没办法实现追加到最后。

扩展代码

写了一个复制 rowIndex 行,到 rowIndex 行下方的代码。如下:

/// <summary>
/// 复制 rowIndex 行到其下方。
/// </summary>
/// <param name="tableIndex"></param>
/// <param name="rowIndex">0 及正数表示从上往下数,负数表示从下往上数,即 -1 表示最后一行。</param>
public void CopyTableRow(int tableIndex, int rowIndex)
{
	var table = XWPFDocument.Tables[tableIndex];

	if (rowIndex < 0)
	{
		rowIndex = table.Rows.Count + rowIndex;
	}

	var row = table.Rows[rowIndex];

	// 在 AddRow 第 2 个参数 pos 前面插入行,要求 pos 不能越界。
	// 那要 Copy 到最后,怎么办呢?不指定第 2 个参数即可。
	if (rowIndex < table.Rows.Count - 1)
	{
		table.AddRow(row, rowIndex + 1);
	}
	else
	{
		table.AddRow(row);
	}
}


相关文章