C#实现Word转换TXT的方法详解

作者:芝麻粒儿 时间:2022-12-26 04:27:57 

实践过程

效果

C#实现Word转换TXT的方法详解

代码

public partial class Form1 : Form
{
   public Form1()
   {
       InitializeComponent();
   }
   public static void WordToHtmlText(string WordFilePath)
   {
       try
       {
           Microsoft.Office.Interop.Word.Application wApp = new Microsoft.Office.Interop.Word.Application();
           //指定原文件和目标文件
           object docPath = WordFilePath;
           string htmlPath;
           if (WordFilePath.Contains(".docx"))
           {
               htmlPath = WordFilePath.Substring(0, WordFilePath.Length - 4) + "txt";
           }
           else
           {
               htmlPath = WordFilePath.Substring(0, WordFilePath.Length - 3) + "txt";
           }
           object Target = htmlPath;
           //缺省参数
           object Unknown = Type.Missing;
           //只读方式打开
           object readOnly = true;
           //打开doc文件
           Microsoft.Office.Interop.Word.Document document = wApp.Documents.Open(ref docPath, ref Unknown,
           ref readOnly, ref Unknown, ref Unknown,
           ref Unknown, ref Unknown, ref Unknown,
           ref Unknown, ref Unknown, ref Unknown,
           ref Unknown);
           // 指定格式
           object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatText;
           // 转换格式
           document.SaveAs(ref Target, ref format,
           ref Unknown, ref Unknown, ref Unknown,
           ref Unknown, ref Unknown, ref Unknown,
           ref Unknown, ref Unknown, ref Unknown);
           // 关闭文档和Word程序
           document.Close(ref Unknown, ref Unknown, ref Unknown);
           wApp.Quit(ref Unknown, ref Unknown, ref Unknown);
       }
       catch (Exception e)
       {
           MessageBox.Show(e.Message);
       }
   }
   private void button2_Click(object sender, EventArgs e)
   {
       if (textBox1.Text != "")
       {
           WordToHtmlText(textBox1.Text.Trim());
           MessageBox.Show("转换成功,保存在Word文件的同目录下!");
       }
   }

private void button1_Click(object sender, EventArgs e)
   {
       if (openFileDialog1.ShowDialog() == DialogResult.OK)
           textBox1.Text = openFileDialog1.FileName;
   }
}
partial class Form1
{
   /// <summary>
   /// 必需的设计器变量。
   /// </summary>
   private System.ComponentModel.IContainer components = null;

/// <summary>
   /// 清理所有正在使用的资源。
   /// </summary>
   /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
   protected override void Dispose(bool disposing)
   {
       if (disposing && (components != null))
       {
           components.Dispose();
       }
       base.Dispose(disposing);
   }

#region Windows 窗体设计器生成的代码

/// <summary>
   /// 设计器支持所需的方法 - 不要
   /// 使用代码编辑器修改此方法的内容。
   /// </summary>
   private void InitializeComponent()
   {
       this.button2 = new System.Windows.Forms.Button();
       this.textBox1 = new System.Windows.Forms.TextBox();
       this.button1 = new System.Windows.Forms.Button();
       this.label1 = new System.Windows.Forms.Label();
       this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
       this.SuspendLayout();
       //
       // button2
       //
       this.button2.Location = new System.Drawing.Point(154, 50);
       this.button2.Name = "button2";
       this.button2.Size = new System.Drawing.Size(75, 23);
       this.button2.TabIndex = 7;
       this.button2.Text = "转换";
       this.button2.UseVisualStyleBackColor = true;
       this.button2.Click += new System.EventHandler(this.button2_Click);
       //
       // textBox1
       //
       this.textBox1.Enabled = false;
       this.textBox1.Location = new System.Drawing.Point(94, 23);
       this.textBox1.Name = "textBox1";
       this.textBox1.Size = new System.Drawing.Size(206, 21);
       this.textBox1.TabIndex = 6;
       //
       // button1
       //
       this.button1.Location = new System.Drawing.Point(306, 21);
       this.button1.Name = "button1";
       this.button1.Size = new System.Drawing.Size(75, 23);
       this.button1.TabIndex = 4;
       this.button1.Text = "浏览";
       this.button1.UseVisualStyleBackColor = true;
       this.button1.Click += new System.EventHandler(this.button1_Click);
       //
       // label1
       //
       this.label1.AutoSize = true;
       this.label1.Location = new System.Drawing.Point(11, 26);
       this.label1.Name = "label1";
       this.label1.Size = new System.Drawing.Size(77, 12);
       this.label1.TabIndex = 5;
       this.label1.Text = "选择Word文档";
       //
       // openFileDialog1
       //
       this.openFileDialog1.Filter = "Word文档|*.doc";
       //
       // Form1
       //
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
       this.ClientSize = new System.Drawing.Size(413, 92);
       this.Controls.Add(this.button2);
       this.Controls.Add(this.textBox1);
       this.Controls.Add(this.button1);
       this.Controls.Add(this.label1);
       this.Name = "Form1";
       this.Text = "Form1";
       this.ResumeLayout(false);
       this.PerformLayout();

}

#endregion

private System.Windows.Forms.Button button2;
   private System.Windows.Forms.TextBox textBox1;
   private System.Windows.Forms.Button button1;
   private System.Windows.Forms.Label label1;
   private System.Windows.Forms.OpenFileDialog openFileDialog1;
}

来源:https://zhima.blog.csdn.net/article/details/128358323

标签:C#,Word,TXT
0
投稿

猜你喜欢

  • 一文带你掌握Spring Security框架的使用

    2021-12-02 09:41:00
  • Spring的连接数据库以及JDBC模板(实例讲解)

    2023-03-21 05:56:36
  • Android launcher中模拟按home键的实现

    2023-03-25 02:33:48
  • 详解Java数据结构和算法(有序数组和二分查找)

    2023-04-08 13:38:07
  • 在C#中捕获内存不足异常

    2021-07-14 11:50:46
  • SpringBoot整合log4j2日志的实现

    2021-11-14 23:41:01
  • spring boot加载第三方jar包的配置文件的方法

    2023-03-02 22:45:13
  • C#实现微信跳一跳小游戏的自动跳跃助手开发实战

    2022-12-11 02:49:08
  • java的三种随机数生成方式

    2022-03-06 13:43:57
  • 移动端WebApp隐藏地址栏的方法

    2022-09-26 20:26:29
  • C语言常用占位符的使用小结

    2023-06-10 01:00:04
  • Maven生命周期和及插件原理用法详解

    2021-09-17 09:47:19
  • java实现双色球机选号码生成器

    2022-10-05 07:41:33
  • c# WPF中的TreeView使用详解

    2021-05-24 15:17:58
  • 如何用C#找出数组中只出现了一次的数字

    2021-06-15 15:42:56
  • struts2框架的登录制作图文教程

    2022-11-24 03:15:15
  • Java哈希表和有序表实例代码讲解

    2023-05-28 11:29:29
  • 解决Mybatis映射文件mapper.xml中的注释问题

    2023-09-17 15:06:30
  • Java Swing 多线程加载图片(保证顺序一致)

    2023-10-26 10:10:36
  • 关于@RequestLine的使用及配置

    2023-09-23 20:52:19
  • asp之家 软件编程 m.aspxhome.com