Я хочу получить таблицу из документа 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();