自己动手做一个批量doc转换为docx文件的小工具

文章讲述了如何使用C#和MicrosoftOfficeInterop库实现将大量.doc文件转换为.docx文件的过程,涉及背景知识、转换原因以及具体操作步骤,包括文件格式比较和转换原理。

前言

最近遇到了一个需求,就是要把大量的doc格式文件转换为docx文件,因此就动手做了一个批量转换的小工具。

背景

doc文件是什么?

“doc” 文件是一种常见的文件格式,通常用于存储文本文档。它是 Microsoft Word 文档的文件扩展名。“doc” 是 “document” 的缩写,表示这是一个文档文件。这种文件格式通常包含文本、图像、表格、图形等内容,可以使用 Microsoft Word 或其他兼容的文字处理软件进行打开和编辑。

docx文件是什么?

“docx” 文件是 Microsoft Word 2007 及更高版本中使用的文档文件格式的扩展名。它是 Office Open XML (OOXML) 标准的一部分,是一种基于 XML 的开放标准格式,用于存储文本文档、图像、表格、图形等内容。与早期的 “.doc” 格式相比,“.docx” 格式具有更高的兼容性和可扩展性,并且文件大小通常更小。由于其开放的特性,许多其他文字处理软件也支持 “.docx” 格式。

为什么要将doc文件转化为docx文件?

将 “.doc” 文件转换为 “.docx” 文件的主要原因包括:

  1. 更先进的格式:“.docx” 使用 Office Open XML 格式,这是一种更现代、更有效的文件格式。它采用了基于 XML 的结构,使得文件更容易解析和处理,同时也提供了更好的兼容性和可扩展性。
  2. 减小文件大小:由于 “.docx” 文件采用了更高效的压缩技术和文件结构,相比 “.doc” 文件通常会更小,这对于存储和传输文件是有利的。
  3. 兼容性:许多最新版本的文字处理软件更支持 “.docx” 格式,而较旧的 “.doc” 格式可能会在一些软件中出现兼容性问题。将文件转换为 “.docx” 格式可以确保在不同平台和软件中的良好兼容性。
  4. 格式稳定性:“.docx” 格式的结构更加稳定,不容易出现文件损坏或格式错误的问题,从而提高了文档的可靠性。

综上所述,将 “.doc” 文件转换为 “.docx” 文件可以提高文件的效率、兼容性和稳定性,是一种值得推荐的做法。

实践

方案使用C#通过Microsoft Office Interop实现将.doc文件转换为.docx文件。

添加引用:

image-20240313204705350

前提是需要电脑上安装有word。

页面设计如下所示:

image-20240319211338214

选择doc文件所在的文件夹:

   // 创建一个新的FolderBrowserDialog
   FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();

   // 设置FolderBrowserDialog的属性
   folderBrowserDialog.Description = "请选择待转换的doc文件所在的文件夹";

   // 显示FolderBrowserDialog,并获取结果
   if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
   {
   
             
       docFolderPath = folderBrowserDialog.SelectedPath;
       richTextBox1.Text += $"你选择的待转换的doc文件所在的文件夹是:{
     
     docFolderPath}\r\n";
   }

选择保存docx文件的文件夹:

 // 创建一个新的FolderBrowserDialog
 FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();

 // 设置FolderBrowserDialog的属性
 folderBrowserDialog.Description = "请选择保存docx文件的文件夹";

 // 显示FolderBrowserDialog,并获取结果
 if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
 {
   
   
     // 用户已选择一个文件夹,可以通过folderBrowserDialog.SelectedPath获取所选文件夹的路径
     docxFolderPath = folderBrowserDialog
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值