WPS新建文字分享微信.docx形式_DOC和DOCX文件的区别

文章介绍了DOC和DOCX文件的主要区别,包括版本差异、文件大小和响应速度。DOCX文件本质上是一个ZIP文件,内容以XML格式存储,提供更好的兼容性、速度和安全性。对于无法直接打开DOCX的用户,可以通过安装补丁或使用WPS来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相信不少人在使用Office和WPS编辑Word文档时会发现这么一个问题,就是在新建或另存文档时会出现两种很相似的格式,分别是doc和docx,这两种格式有区别吗?

5451b7148b2269269b242d2bdebb0bec.png
ff134a509b923bed76310a40d261cff4.png

1、文件版本不同:

Doc文件格式是Word2003及之前版本保存的文档格式。

Docx文件格式是Word2007及之后版本保存的文档格式。

2、空白文件大小不同:

通过查看文件的详细信息可以很清楚地看出空白文件大小是不一致的,doc文件即使是空白文件也会占用一些空间,而空白的docx文件则不会占用空间。

3、响应速度不同:

由于两种文件格式原理有本质上的区别,所以两者在打开、编辑、保存时的响应速度也有着很大区别。



上面简单了解了doc和docx两者之间的不同之处,但为什么出现这些不同之处呢?下面就详细介绍产生这些不同之处的原因。

Docx文件本质上是一个ZIP文件,它的主要内容保存为XML格式。这是什么意思呢?我们可以通过实例来理解。

首先新建一个Docx格式的文档,接着将文件后缀名更改为一种压缩文件格式(这里用的是rar),我们就会得到一个压缩文件,将压缩文件解压,会得到一个文件夹。如图(1)。

c051fb88119c58a94ece09d07a8adae5.png

图(1)

打开这个文件夹,会出现这么几个文件。如图(2)。打开Word文件夹。

c957929b4a59d45654b886b9bc8ed748.png

图(2)

打开Word文件夹后,能看到会有一个文件夹media,这个文件夹是用来存储文档中的图片、视频、音频内容,此外还会有一个document.xml文件,这个就是纯文字版的原文档中的内容,下方的其他几个文件是对文档格式等内容进行定义。如图(3)。

587df4047e33770c57f151d86c770a78.png

图(3)

看到这里,相信大家对Docx文件的构成有了更深入的认识,如果对网页制作编程有了解的人会很容易就理解。这说白了就是利用标记语言对文档进行定义,定义的内容包含了各种设置,而Word可以将这些内容进行整合,进而形成一个Docx文件。

相比较于doc文件,docx文件有着很多的优点,兼容性强、响应速度快、安全性高、编辑更加便捷、提高了操作效率等。有些老电脑上依旧使用的是Word2003,要是想打开docx文件就必须下载一个名为FileFormatConverters.exe的补丁文件,注册后重启电脑即可。或者是使用WPS,它可以兼容这些文件。

你的代码中调用了`merge_docx`函数,但是在调用之前并没有定义该函数,因此导致了`NameError: name 'merge_docx' is not defined`错误。 为了解决这个问题,你应该把`merge_docx`函数定义提到调用的前面,或者把它定义在另一个文件中并且在当前文件中导入。如下所示: ``` import os from openpyxl import load_workbook import docx # 合并docx文件 def merge_docx(file_list, merged_file_name): # 如果合并后的文件已存在,则直接返回 if os.path.exists(merged_file_name): return # 创建合并后的文档对象 merged_doc = docx.Document() # 合并文件内容 for file_name in file_list: doc = docx.Document(file_name) for para in doc.paragraphs: merged_doc.add_paragraph(para.text) for table in doc.tables: merged_doc.add_table(table.rows, table.columns) # 保存合并后的文档 merged_doc.save(merged_file_name) # 读取Excel文件 workbook = load_workbook(filename=r'D:\好记薪\工商资料生成\表格.xlsx') sheet = workbook['需调用文档'] # 判断C列是否为空 if sheet['C2'].value: # 合并A、B文档 merge_docx(['A.docx', 'B.docx'], 'AB.docx') if sheet['C3'].value or sheet['C4'].value or sheet['C5'].value or sheet['C6'].value: # 合并A、B、C文档 merge_docx(['A.docx', 'B.docx', 'C.docx'], 'ABC.docx') if sheet['C7'].value: # 合并A、B、C、D文档 merge_docx(['A.docx', 'B.docx', 'C.docx', 'D.docx'], 'ABCD.docx') if sheet['C8'].value: # 合并A、B、C、E文档 merge_docx(['A.docx', 'B.docx', 'C.docx', 'E.docx'], 'ABCE.docx') ``` 这样就可以避免`NameError: name 'merge_docx' is not defined`错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值