复制Word文档的内容并粘贴到另一个文档中

发布于 2024-10-19 13:50:08 字数 128 浏览 8 评论 0原文

如何使用 C# 以编程方式复制一个 Word 文档的内容并将其粘贴到另一个 Word 文档?

我基本上想复制一份个人资料(这是一个单词文档的内容),然后将其插入报告中。

任何帮助将不胜感激

谢谢

How do i programatically copy the contents of one word document and paste it to another word document using C#?

I basically want to copy a personal profile (which is the contents of one word doc) and then insert it into a report.

Any help would be greatly appreciated

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

懵少女 2024-10-26 13:50:08

你可以这样做:

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();

You can do this:

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();
烟花易冷人易散 2024-10-26 13:50:08

你可以这样做:

    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);

You can do this:

    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);
自演自醉 2024-10-26 13:50:08

假设使用 docx,请使用 http://powertools.codeplex.com/ 的 DocumentBuilder 组件

有关详细信息,请参阅< a href="http://blogs.msdn.com/b/ericwhite/archive/2009/02/05/move-insert-delete-paragraphs-in-word-processing-documents-using-the-open-xml- sdk.aspx" rel="nofollow">http://blogs.msdn.com/b/ericwhite/archive/2009/02/05/move-insert-delete-paragraphs-in-word-processing-documents-using- the-open-xml-sdk.aspx

被你宠の有点坏 2024-10-26 13:50:08

这个链接应该有帮助。

使用 OpenXml 和 C# 复制 Word 文档

另一个建议是创建副本Word 文件的名称并将其重命名为所需的名称(如果适合您的解决方案)。

http://www.dotnetperls.com/file-copy

This link should help.

Duplicating Word document using OpenXml and C#

Another suggestion is to creating a copy of the word file and renaming it to whatever the required name is, if that suits your soluition.

http://www.dotnetperls.com/file-copy

东风软 2024-10-26 13:50:08

如果您需要访问较旧的 Word 文档(Word 97 等),可以使用第三方库,这些库使您可以完全控制文档的创建和修改,而无需在目标计算机上安装 Word。这对于网络服务器特别有用。

我们过去曾成功使用 Syncfusion 的 Essential DocIO - http://www.syncfusion.com /products/reporting-edition/docio

否则,您可以使用 Microsoft Office Automation 库访问旧版 Word 文档 - http://support.microsoft.com/kb/301659

使用自动化库时,有很多事情需要小心,因为它们直接在目标计算机上执行 Word。在网络服务器上运行它们是一个很大的禁忌。

If you need to access older Word documents (Word 97 etc), there are third-party libraries available which give you full control over creating and amending the documents without having Word installed on the target machine. This is especially useful for web servers.

We have used Essential DocIO from Syncfusion successfully in the past - http://www.syncfusion.com/products/reporting-edition/docio

Otherwise, you can use the Microsoft Office Automation libraries to access older Word documents - http://support.microsoft.com/kb/301659

There are quite a few things you have to be careful with when using the automation libraries since they execute Word directly on the target machine. Running them on a web server is a big no-no.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文