我想从 MS Word 文档中获取一个表格,并将该表格添加到另一个具有所有格式的文档中。我正在使用 OOXML 来执行此操作。为了识别一个特定的表格,我分配了“Alt Text -> Title”,我可以从源文档中获取表格及其内容。我已经在目标文档中添加了一个表格,其中包含特定的“Alt Text -> Title 并且也能够获取它。
我使用下面的代码将表格添加到目标文档。但是,当我打开目标文档时,它会显示 MS Word 错误消息。
MS Word 错误 -> “文件已损坏,无法打开。”
当我针对此错误单击确定时,它显示消息“Word 在 .docx 中发现不可读的内容。您要恢复此文档的内容吗?如果您信任此文档的来源,请单击是。” 当我单击是时。
它显示带有表格的目标文档及其所有格式。
如何删除此错误/警告消息?我对导致此错误的代码做错了什么?
注意:我正在尝试复制的表格包含一些带有超链接的文本,这会导致问题。如果我删除超链接,它工作正常。
TableProperties tableProperty = sourceDocument.Document.Body.Descendants<TableProperties>().Where(tp => tp.TableCaption != null && tp.TableCaption.Val.InnerText.Contains("sourceTable")).FirstOrDefault();
TableProperties destTableProperty = destinationDocument.Document.Body.Descendants<TableProperties>().Where(tp => tp.TableCaption != null && tp.TableCaption.Val.InnerText.Contains("destinationTable")).FirstOrDefault();
sourceTable = (Table)tableProperty.Parent;
destinationTable = (Table)destTableProperty.Parent;
destinationTable.InsertBeforeSelf<Table>((Table)sourceTable.CloneNode(true));
destinationTable.Remove();