请问如何删除mergefield所在行


#1

我写了一个方法,想删除mergefield所在的行:

//删除合并字段所在行
public static void deleteRowByMergeField(DocumentBuilder builder, String key) throws Exception
{
builder.moveToMergeField(key,true,false);
Row row = (Row)builder.getCurrentParagraph().getParentNode().getParentNode();
row.remove();
}

但是这个方法有时执行会有错误,提示Parent节点没有找到。

请问如何写这样的方法? 可能mergefield放在第一个单元格,也有可能放在比如 第7个单元格里。

谢谢!


#2

@hzjianglf

您可以使用以下代码示例来获取所需的输出。 希望这对你有所帮助。

如果您仍然遇到问题,请ZIP并附上您的输入和预期输出文档以及代码示例,以便在我们的最后重现此问题。

static void deleteRowByMergeField(DocumentBuilder builder, String key) throws Exception
{
    builder.moveToMergeField(key,true,false);
    Row row = (Row)builder.getCurrentParagraph().getAncestor(NodeType.ROW);
    if(row != null)
        row.remove();
}

#3

@tahir.manzoor 非常完美!谢谢了!