如何使用 C#、.NET 将文本写入 Word 文件

2024-04-05

我正在尝试使用 C# 编写一些文本并将其附加到 Word 文件中,但是,我无法获得预期结果。你能帮我解决这个问题吗?

下面是我的代码-

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    
    namespace WFA1
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                //FileStream F = new FileStream("testdoc2.docx", FileMode.OpenOrCreate, FileAccess.ReadWrite);
                Console.WriteLine("Sourav");           
                string filename = @"C:\\Desktop\\myfile.docx";
                Console.WriteLine(filename);
                try
                {
                    using (FileStream fs = File.OpenWrite(filename))
                    {
                        Byte[] content = new UTF8Encoding(true).GetBytes("Hello I am learning C#");
                        fs.Write(content, 0, content.Length);
                    }
                }
                catch (Exception Ex)
                {
                    Console.Write(e.ToString());
                }
                
    
    
            }
        }
    }

上面的代码是windows窗体应用程序背后的代码。我使用 FileStream 类来写入数据。但是我面临以下问题:-

  1. 没有创建文件
  2. 代码会继续运行,直到我手动停止它。

因此,我也尝试了下面的方法,并且我能够将文本写入文件。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Microsoft.Office.Interop.Word;

namespace WFA1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document doc = app.Documents.Open("C:\\Users\\SS5014874\\Desktop\\testdoc1.docx");
            object missing = System.Reflection.Missing.Value;
            //string s = "Hi";
            //Console.WriteLine(s);               
            doc.Content.Text = textBox1.Text.ToString();
            doc.Save();
            doc.Close(ref missing);

            app.Quit(ref missing);
        }
    }
}

然而,我仍然没有得到预期的结果。以下是我的问题:-

  1. 无法附加任何文本。请让我知道如何使用这种方法进行附加。我们可以调用任何方法来附加文本吗?
  2. 即使我使用了退出方法,应用程序也不会退出,直到我手动退出。

另外,我在哪里可以找到类的方法列表Microsoft.Office.Interop.Word

如需任何其他信息,请告诉我。


请点击此链接https://support.microsoft.com/en-us/kb/316384 https://support.microsoft.com/en-us/kb/316384

Or

你可以试试这个。

添加以下指令:

  • 使用 Microsoft.Office.Interop.Word;

  • 使用系统反射;

用于添加 Microsoft.Office.Interop.Word;

  • 在“项目”菜单上,单击“添加引用”。
  • 在 COM 选项卡上,找到 Microsoft Word 对象库,然后选择。

(就我而言,它是Microsoft Word 12.0 对象库)

使用这些代码。我正在尝试像您的代码一样维护这些代码 -

private void button1_Click(object sender, EventArgs e)
{
   Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();    
   Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(@"e:\testdoc1.docx");
   object missing = System.Reflection.Missing.Value;                        
   doc.Content.Text += textBox1.Text;
   app.Visible = true;    //Optional
   doc.Save();            
   this.Close();           
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C#、.NET 将文本写入 Word 文件 的相关文章

  • MVC3中设置下拉列表中的所选项目

    我必须为视图中的下拉列表设置所选项目 但它不起作用 View div class editor label Html LabelFor model gt model Gender div div class editor field Htm
  • 打印“X”个字符数与“X”字符串长度的所有可能组合(暴力破解)

    我正在尝试编写一个单词组合生成器 我的意思是打印 X 个字符数与 X 字符串长度的所有可能组合 首先 我需要说的是 我在 StackOverFlow 中看到了一个关于这个问题的问题 其中有很多单词生成器的答案来执行此操作 在不同的语言上 但
  • 循环遍历 C 结构中的元素以提取单个元素的值和数据类型

    我有一个要求 我有一个 C 语言的大结构 由大约 30 多个不同数据类型的不同元素组成 typedef struct type1 element1 type2 element2 type3 element3 type2 element4 1
  • 有些有助于理解“产量”

    在我不断追求少吸的过程中 我试图理解 产量 的说法 但我不断遇到同样的错误 someMethod 的主体不能是迭代器块 因为 System Collections Generic List 不是迭代器接口类型 这是我被卡住的代码 forea
  • 在 C# 中,如何根据在 gridview 行中单击的按钮引用特定产品记录

    我有一个显示产品网格视图的页面 该表内有一列 其中有一个名为 详细信息 的超链接 我想这样做 以便如果用户单击该特定产品的详细信息单元格 将打开一个新页面 提供有关该产品的更多信息 我不确定如何确定哪个Product记录链接的详细信息以及我
  • 如何在 C# Designer.cs 代码中使用常量字符串?

    如何在 designer cs 文件中引用常量字符串 一个直接的答案是在我的 cs 文件中创建一个私有字符串变量 然后编辑 Designer cs 文件以使用此变量 而不是对字符串进行硬编码 但设计者不喜欢这样抛出错误 我明白为什么这行不通
  • 什么是空终止字符串?

    它与什么不同标准 字符串 http www cplusplus com reference string string 字符串 实际上只是一个数组chars 空终止字符串是指其中包含空字符的字符串 0 标记字符串的结尾 不一定是数组的结尾
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • 在 .NET MAUI 中实现 TouchTracking

    我一直致力于将我们的应用程序从 Xamarin Forms 迁移到 NET MAUI 我们的应用程序几乎没有绘图功能 用户可以用手指进行绘图 我们用了TouchTrackingXamarin Forms 中的 nuget 包 但与 NET
  • 如何递归取消引用指针(C++03)?

    我正在尝试在 C 中递归地取消引用指针 如果传递一个对象 那就是not一个指针 这包括智能指针 我只想返回对象本身 如果可能的话通过引用返回 我有这个代码 template
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • 将二变量 std::function 转换为单变量 std::function

    我有一个函数 它获取两个值 x 和 y 并返回结果 std function lt double double double gt mult double x double y return x y 现在我想得到一个常量 y 的单变量函数
  • C++ 对象用 new 创建,用 free() 销毁;这有多糟糕?

    我正在修改一个相对较大的 C 程序 不幸的是 并不总是清楚我之前的人使用的是 C 还是 C 语法 这是在一所大学的电气工程系 我们 EE 总是想用 C 来做所有事情 不幸的是 在这种情况下 人们实际上可以逃脱惩罚 但是 如果有人创建一个对象
  • 在 Win32 控制台应用程序中设置光标位置

    如何在 Win32 控制台应用程序中设置光标位置 最好 我想避免制作句柄并使用 Windows 控制台功能 我花了整个早上沿着那条黑暗的小巷跑 它产生的问题比它解决的问题还要多 我似乎记得当我在大学时使用 stdio 做这件事相对简单 但我
  • EntityFramework 6.0.0.0 读取数据,但不插入

    我创建了一个基于服务的数据库 folderName gt Add New Item gt Data gt Service based Database文件到 WPF 应用程序中 然后我用过Database First方法并创建了Person
  • 无法将字符串文字分配给装箱的 std::string 向量

    这是我的类型系统的简化版本 include
  • 我可以使用 lambda 函数或 std::function 对象来代替函数指针吗?

    我有一个需要使用的库 它定义了以下内容 typedef void CallbackFunction const int i 并且有一个注册回调的函数 如下所示 void registerCallback CallbackFunction p

随机推荐

  • 确定两个数字在四舍五入到 n 个有效小数位后是否几乎相等的函数

    我被要求测试第三方提供的库 该库已知准确n重要数字 任何不太重要的错误都可以安全地忽略 我想写一个函数来帮助我比较结果 def nearlyequal a b sigfig 5 该函数的目的是确定两个浮点数 a 和 b 是否近似相等 如果
  • Groovy:如何在字符串中包含反斜杠而不转义?

    我想在我的 groovy 程序中使用以下字符串文字 而不必转义反斜杠 C dev username 这是我到目前为止所尝试过的 字符串 单引号 和 GString 双引号 def aString C dev username def aGS
  • 在 MATLAB 中加载多个图像

    这是所需的工作流程 我想将 100 张图像加载到 MATLAB 工作区 在图像上运行一堆我的代码 将我的输出 我的代码返回的输出是一个整数数组 保存在一个新数组中 最后 我应该有一个数据结构来存储图像 1 100 的代码输出 我该怎么做呢
  • Javascript:如何在处理程序中保留对请求发起者的引用?

    我通常不是一个 Javascript 人 但我一直在潜心阅读道格拉斯 克罗克福德的书 http oreilly com catalog 9780596517748 并编写一些琐碎 有用的花絮作为 Chrome 扩展和Node js http
  • boost::asio::io_service 在 win_mutex 锁中崩溃

    我一直遇到 boost asio 问题 其中使用全局 io service 实例创建的计时器和 或套接字在构造过程中崩溃 发生崩溃的系统如下 Windows 7的 适用于 Windows 桌面的 Visual Studio 2013 Exp
  • python读取文件utf-8解码问题

    我在读取包含 UTF8 和 ASCII 字符的文件时遇到问题 问题是我使用seek仅读取数据的某些部分 但我不知道我是否在UTF8的 中间 读取 osx 蟒蛇3 6 6 简而言之 我的问题可以用以下代码来演示 write some utf
  • 如何使用 Jquery 创建 .txt 文件?

    好的 这是我的域 example com index html 我想在该域中创建一个 txt 文件 结果 example com file txt 包含以下信息 js saveButton on click function e e pre
  • Python-Sphinx:从超类“继承”方法文档

    Edit 截至目前 Sphinx 1 4 9 似乎没有办法告诉 Sphinx 做我想做的事情 参见issue https github com sphinx doc sphinx issues 3140在 GitHub 上 这接受的答案 h
  • .NET GUI 中仍然使用本机 Windows 控件吗?

    当您使用 WinForms 或 WPF 创建 GUI 时显示的内容仍然基于本机控件 例如通用控制 http msdn microsoft com en us library windows desktop bb773169 28v vs 8
  • Android 接收器可以进行多种操作?

    简单的问题 我可以注册一个吗BroadcastReceiver多个 Intent 操作 这是我正在考虑的
  • linkedin 上的 Open Graph 图片问题

    我的项目现在遇到有关 linkedin 共享的问题 图像 缩略图 未显示 我的问题是 网址更改也会影响吗 例如 我添加了这样的 og 标签 https domain name com wp content uploads 2016 10 2
  • 如何更改 Angular 中 mat-dialog 的 Z 索引

    我的应用程序使用多个 mat dialogs 有时可能会同时显示 2 个 这会导致问题 因为第二个永远不会正确显示 而且它的模式使应用程序变得无用 经过更多研究后 我似乎可以通过调整 mat dialog 的 z index cdk ove
  • 如何获取通过SpriteKit编辑器创建的项目的SKSpriteNode?

    我使用 SpriteKit 使用 Objective C 在 XCode 中创建了一个相当简单的 此时是实验性的 游戏 我知道如何手动创建 SKSpriteNode 对象并将其添加到 SKScene 但我有点尝试做相反的事情 我在 XCod
  • Spark.ml 回归计算的模型与 scikit-learn 不同

    我在 scikit learn 和 Spark ml 中设置一个非常简单的逻辑回归问题 结果有所不同 他们学习的模型不同 但我不明白为什么 数据相同 模型类型是相同 正则化相同 毫无疑问 我错过了一侧或另一侧的一些设置 哪个设置 我应该如何
  • Visual Studio C# - 未找到 SQLite.Interop.dll

    我目前正在尝试使用 Visual Studio 创建一个与 SQLite 一起使用的 C 应用程序 我使用 NuGet 为我的程序安装了 SQLite 解决方案资源管理器中出现了三个引用 System Data SQLite System
  • 刷新 Ajax 成功的数据表

    我正在使用数据表和 jquery 对话框 总的来说 我有 3 个表格和 3 个数据表 我的脚本运行良好 但我遇到的问题是在 ajax 保存成功时更新正确的数据表 它甚至不必是正确的对应表 它可以更新 3 个表单保存中任何一个的所有 3 个表
  • 仅当值既不为 null 也不未定义时才调用函数

    单击按钮时 我检查本地存储键中是否存在某些内容 如下所示 var a localStorage getItem foo if typeof a undefined Function 但如果该键根本不存在 则返回 null 我怎样才能打电话如
  • 为什么“Dispose”有效,而不是“using(var db = new DataContext())”?

    我正在创建一个由主题组成的论坛 主题由消息组成 当我尝试在我的控制器中实现主题视图时 public ActionResult Topic int id Topic Id using var db new DataContext var to
  • Flutter可拖动容器:从上到下扩展

    I want to achieve the following example 如您所见 用户必须能够从上到下拖动 开始时 只能看到图像 但是一旦用户从上到下拖动元素 它将显示更多内容 在扩展橙色容器时 它应该高于所有其他绿色元素 我调查过
  • 如何使用 C#、.NET 将文本写入 Word 文件

    我正在尝试使用 C 编写一些文本并将其附加到 Word 文件中 但是 我无法获得预期结果 你能帮我解决这个问题吗 下面是我的代码 using System using System Collections Generic using Sys