C# 使用Open XML和C将表格数据从word文档复制到另一个文档#

C# 使用Open XML和C将表格数据从word文档复制到另一个文档#,c#,wordpress,openxml-sdk,C#,Wordpress,Openxml Sdk,我正在尝试将表从一个文档复制到另一个文档。在源文档中,我有20多个表,我需要为每个表创建一个新文档和。我试过下面的方法 正在创建文件,但由于数据有问题,我无法打开该文件。请帮助我将表格数据从一个文档复制到另一个文档 var doc = WordprocessingDocument.Open(@"C:\Users\vnadendla\Downloads\TestWordDoc.docx", false); var parts = doc.MainDocumentPart.Do

我正在尝试将表从一个文档复制到另一个文档。在源文档中,我有20多个表,我需要为每个表创建一个新文档和。我试过下面的方法

正在创建文件,但由于数据有问题,我无法打开该文件。请帮助我将表格数据从一个文档复制到另一个文档

 var doc = WordprocessingDocument.Open(@"C:\Users\vnadendla\Downloads\TestWordDoc.docx", false);
var parts = doc.MainDocumentPart.Document.Descendants().FirstOrDefault();
            if (parts != null)
            {

                foreach (var node in parts.ChildElements)
                {
                   
                    if (node is Table)
                    {
                        var tableData = (Table)node.Clone();
                       await CreateWordprocessingDocument(@"C:\Users\vnadendla\Desktop\GeneratedDocuments\tablename.docx", node, log);
                    }
                }
            }

 public static async Task CreateWordprocessingDocument(string filepath,Table tableData, ILogger log)
        {
            try
            {
                // Create a document by supplying the filepath. 
                using (WordprocessingDocument wordDocument =
                    WordprocessingDocument.Create(filepath, WordprocessingDocumentType.Document))
                {
                    // Add a main document part. 
                    MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();

                    // Create the document structure and add some text.
                    mainPart.Document = new Document();
                    
                    Body body = mainPart.Document.AppendChild(new Body());
                     Paragraph para = body.AppendChild(new Paragraph());
                    Table table = para.AppendChild(new Table(tableData));
                    Run run = para.AppendChild(new Run());
                   
                    wordDocument.Save();
                }
            }
            catch(Exception ex)
            {
                log.LogError(ex.Message);
            }
        }