本发明涉及java文件处理,具体地说是一种word文件合并方法、系统、电子设备及存储介质。
背景技术:
1、word文件有诸多格式,具体如下:
2、docx:是word文档的默认文件格式,也是word 2007版本之后才有的,采用open;
3、xml格式存储,取代了.dotx格式作为新的office open xml文档格式。
4、dotx:作为office open xml文档格式的文档模板文件,在word 2007版本之后被引入。它将文档格式扩展到xml,并将样式表和其他结构化信息存储在文档中。
5、dot:是word早期版本(word 97、word 2000等)使用的文档模板文件格式。它是一个二进制格式,可以追溯到word 1.0。
6、rtf:富文本格式,是一种文本文件的格式,可以在多种平台上读取和保存。
7、html:是一种网页文件格式,可以使用浏览器打开。
8、xml:是一种可扩展标记语言,可以用来描述和存储各种类型的数据。
9、odt:是open document格式的一种变体,也是一种基于xml的文件格式。
10、pdf:是一种便携式文档格式,可以在不同平台上读取和打印。
11、doc:是word的早期版本(word 97、word 2000等)使用的文件格式。
12、目前诸多单位或者是项目中普遍常态化需要文件上报并以word文档书面形式或者是电子档呈现。而word文档的样式不一、内容各异、改动频繁,无疑给相关工作人员带来大量重复的工作和繁杂的运维工作。
13、故如何统一word文件格式,避免陷入文件格式及内容的无尽改动中,进而节省工作时间,提高工作效率是目前亟待解决的技术问题。
技术实现思路
1、本发明的技术任务是提供一种word文件合并方法、系统、电子设备及存储介质,来解决如何统一word文件格式,避免陷入文件格式及内容的无尽改动中,进而节省工作时间,提高工作效率的问题。
2、本发明的技术任务是按以下方式实现的,一种word文件合并方法,该方法是采用apache-poi对word文件进行处理,具体如下:
3、读取汇总文件;
4、根据文件路径判断汇总文件是否已经存在:
5、若存在,则直接读取汇总文件;
6、若不存在,则新建汇总文件;
7、获取汇总文件的xwpfdocument对象;
8、通过opcpackage读取待合并的2个或多个word文件;
9、通过xwpfparagraph对象创建段落,写入汇总文件作为各合并文件的标记,可以根据需要定制内容;
10、通过ctbody获取各文件的xml内容;
11、将合并文件的xml内容脱壳,去除多余内容,并替换word文件中的空行,根据需求选择是否替换即可;
12、将合并文件xml内容写入汇总文件ctbody对象中;
13、将处理完的汇总文件ctbody对象写入文件系统中。
14、作为优选,新建汇总文件具体如下:
15、根据文件路径和文件名新建docx文件;
16、打开新建的docx文件写入默认xml内容。
17、作为优选,通过opcpackage读取待合并的2个或多个word文件具体如下:
18、创建opcpackage链表,opcpackage链表用于存储合并文件的opcpackage对象;
19、根据合并文件的数量,循环遍历合并文件;
20、使用opcpackage打开文件流读取合并文件内容,并将opcpackage对象放入opcpackage链表;
21、判断opcpackage链表中的内容是否正确读取,即判断opcpackage链表中的内容是否不为空:
22、若是,则遍历opcpackage链表。
23、更优地,opcpackage对象大于零时,执行合并操作,并将合并的文档写入合并文件中。
24、作为优选,将合并文件xml内容写入汇总文件ctbody对象中后,结束遍历opcpackage链表。
25、一种word文件合并系统,该系统采用apache-poi对word文件进行处理;该系统包括:
26、获取模块一,用于获取汇总文件;
27、判断模块,用于根据文件路径判断汇总文件是否已经存在:
28、读取模块一,用于汇总文件存在时,直接读取汇总文件;
29、新建模块,用于汇总不存在时,新建汇总文件;
30、获取模块二,用于获取汇总文件的xwpfdocument对象;
31、读取模块二,用于通过opcpackage读取待合并的2个或多个word文件;
32、创建模块,用于通过xwpfparagraph对象创建段落,写入汇总文件作为各合并文件的标记,可以根据需要定制内容;
33、获取模块三,用于通过ctbody获取各文件的xml内容;
34、脱壳模块,用于将合并文件的xml内容脱壳,去除多余内容,并替换word文件中的空行,根据需求选择是否替换即可;
35、写入模块一,用于将合并文件xml内容写入汇总文件ctbody对象中;
36、写入模块二,用于将处理完的汇总文件ctbody对象写入文件系统中。
37、作为优选,新建模块包括:
38、新建子模块,用于根据文件路径和文件名新建docx文件;
39、写入子模块,用于打开新建的docx文件写入默认xml内容。
40、作为优选,读取模块二包括:
41、创建子模块,用于创建opcpackage链表,opcpackage链表用于存储合并文件的opcpackage对象;
42、遍历子模块,用于根据合并文件的数量,循环遍历合并文件;
43、读取子模块,用于使用opcpackage打开文件流读取合并文件内容,并将opcpackage对象放入opcpackage链表;
44、判断子模块,用于判断opcpackage链表中的内容是否正确读取,即判断opcpackage链表中的内容是否不为空:
45、若是,则遍历opcpackage链表;
46、其中,opcpackage对象大于零时,执行合并操作,并将合并的文档写入合并文件中。
47、一种电子设备,包括:存储器和至少一个处理器;
48、其中,所述存储器上存储有计算机程序;
49、所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的ord文件合并方法。
50、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的ord文件合并方法。
51、本发明的word文件合并方法、系统、电子设备及存储介质具有以下优点:
52、(一)本发明统一了word文件格式,避免陷入文件格式及内容的无尽改动中,进而节省了工作时间,提高了工作效率;
53、(二)本发明能够统一处理word文件,集中展示;
54、(三)本发明能够监测需要合并的2个或多个文件,判断其是否支持合并;
55、(四)本发明根据指定路径或则默认路径生成汇总后的合并文件,避免技术人员进行重复且繁琐的运维工作。