复制Word doc的内容并粘贴到另一个
我如何以编程方式复制一个word文档的内容并使用C#将其粘贴到另一个word文档?
我基本上想要复制个人资料(这是一个单词doc的内容),然后将其插入报告中。
任何帮助将不胜感激
谢谢
你可以这样做:
object docStart = worddocpromo.Content.End - 1; object docEnd = worddocpromo.Content.End; object start = SubDoc.Content.Start; object end = SubDoc.Content.End; SubDoc.Range(ref start, ref end).Copy(); Microsoft.Office.Interop.Word.Range rng = worddocpromo.Range(ref docStart, ref docEnd); rng.Paste();
假设docx,请使用http://powertools.codeplex.com/的DocumentBuilder组件
有关详细信息,请参阅http://blogs.msdn.com/b/ericwhite/archive/2009/02/05/move-insert-delete-paragraphs-in-word-processing-documents-using-the-open-xml -sdk.aspx
你可以这样做:
Word.Application word = new Word.Application(); word.Visible = true; Word.Document d1 = word.Documents.Add(); Word.Document d2 = word.Documents.Open(@"E:\00-Word\Test.docx"); Word.Range oRange = d2.Content; oRange.Copy(); d1.Content.PasteSpecial(DataType:Word.WdPasteOptions.wdKeepSourceFormatting);
这个链接应该有帮助。
使用OpenXml和C#复制Word文档
另一个建议是创建word文件的副本,并将其重命名为所需的名称,如果这适合您的解决方案。
如果您需要访问较旧的Word文档(Word 97等),则可以使用第三方库,无需在目标计算机上安装Word即可完全控制文档的创建和修改。 这对Web服务器特别有用。
我们过去成功使用过Syncfusion的Essential DocIO – http://www.syncfusion.com/products/reporting-edition/docio
否则,您可以使用Microsoft Office Automation库来访问较旧的Word文档 – http://support.microsoft.com/kb/301659
使用自动化库时,您需要注意很多事情,因为它们直接在目标计算机上执行Word。 在Web服务器上运行它们是一个很大的禁忌。