CN108153721A - 一种在Word文件嵌入图表的自动生成方法 - Google Patents

一种在Word文件嵌入图表的自动生成方法 Download PDF

Info

Publication number
CN108153721A
CN108153721A CN201711272499.1A CN201711272499A CN108153721A CN 108153721 A CN108153721 A CN 108153721A CN 201711272499 A CN201711272499 A CN 201711272499A CN 108153721 A CN108153721 A CN 108153721A
Authority
CN
China
Prior art keywords
data
word
chart
python
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711272499.1A
Other languages
English (en)
Other versions
CN108153721B (zh
Inventor
蒋湘涛
钟少宏
黄华军
彭敏之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Soul Psychology Application Technology Co ltd
Original Assignee
Central South University of Forestry and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central South University of Forestry and Technology filed Critical Central South University of Forestry and Technology
Priority to CN201711272499.1A priority Critical patent/CN108153721B/zh
Publication of CN108153721A publication Critical patent/CN108153721A/zh
Application granted granted Critical
Publication of CN108153721B publication Critical patent/CN108153721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种在Word文件嵌入图表的自动生成方法,包括以下步骤,1)安装操作Word文档的Python库docx和图生成库matplotlib.pyplot;2)在Word文件中编辑好表格和图的样式;3)在表格中添加插入数据置位符;4)判断表格标签是否符合规范;5)配置图表的数据源;6)调用由Python写成的图表自动生成程序遍历Word文档中的表格和图,完成表格中数据插入和图的更新。本发明可以使操作人员在word中直接更改标签来实现图的更新和报表数据的自动插入报告,以达到所见即所得目的。保证操作人员能够快速高效的完成对Word中图表的编辑操作,而且不需要依赖其他软件。

Description

一种在Word文件嵌入图表的自动生成方法
技术领域
本发明涉及一种在Word文件嵌入图表的自动生成方法。
背景技术
如果想在Word文件中嵌入图和报表,通常得通过Excel建好表格和生成图片,并将在Excel中的手动生成的图表拷贝到Word文件中,每次拷贝完成后,还需要对报表的样式和尺寸、图片的位置等进行编辑,整个过程相对繁琐耗时。
如果嵌入的图表中某个数据需要修改时,整个过程还必须重新操作一次,很大程度上限制了用户的灵活更新的要求。
如果采用诸如XML和JSON来描述内嵌到Word文件中的报表和图的方法,则由于需要用户理解XML和JSON语法,更重要的是,无法预先看到在Word中内嵌图表的效果,不能实现所见即所得操作。
发明内容
本发明要解决的技术问题是克服现有技术的不足,提供一种在Word文件嵌入图表的自动生成方法,可以让操作人员先在Word文件中编辑好报表样式和图的位置,然后采用自动将数据填充到表格中、将原图更新成按数据生成的图的方法,实现所见即所得,并且更新图表的数据源后只需要简单重新生成一次即可。
为解决上述技术问题,本发明提出的技术方案为:一种在Word文件嵌入图表的自动生成方法,其特征在于:包括以下步骤,1)安装操作Word文档的Python库docx和图生成库matplotlib.pyplot;
2)打开Word文件,在其中插入表格和图,并编辑好表格和图的样式;
3)在表格中添加插入数据置位符,表格数据的标签分成三个部分,由表前缀、数据集名称以及数据项组成;图的标签是由插入图的名称来设置,图的名称分为两部分,一部分为图前缀“placeholder”、另一部分为生成图的数据集名称;
4)判断表格标签是否符合规范,如果不符合,则执行步骤五,如果符合,则进行步骤六;
5)提示标签设置错误,输出出错的标签,并结束程序;
6)配置图表的数据源,可以从数据库读取或者直接提供到Python源码文件中;
7)调用由Python写成的图表自动生成程序遍历Word文档中的表格和图,读出表格中标签解析出填充方式和数据集,在文档中自动填充数据;从图的属性中读出图片文件名,并从中解析出更新图所用的数据源,并采用pyplot库生成临时图,然后读取出图的数据内容,更新原图中的属性项pic_part._blob,完成图的更新,并且保持原文档中图表的位置和格式不发生变化;
8)结束Word内嵌图表的自动生成。
上述的在Word文件嵌入图表的自动生成方法,步骤3)中所述表前缀包括“H-”和“V-”,分别表示数据按行和按列填充,数据集名称描述了数据源中那组数据,其内容实质上为Python中字典数据结构中的关键字,数据项为数据集中的某个数据。
与现有技术相比,本发明的优点在于:本发明的在Word文件嵌入图表的自动生成方法,可以使操作人员在word中直接更改标签来实现图的更新和报表数据的自动插入报告,以达到所见即所得目的。保证操作人员能够快速高效的完成对Word中图表的编辑操作,而且不需要依赖其他软件。
附图说明
图1为实施例1中在word中内嵌自动生成图片置位标签示例。
图2为实施例1自动更新后的计量标准器稳定性考核图。
具体实施方式
为了便于理解本发明,下文将结合较佳的实施例对本发明作更全面、细致地描述,但本发明的保护范围并不限于以下具体的实施例。
需要特别说明的是,当某一元件被描述为“固定于、固接于、连接于或连通于”另一元件上时,它可以是直接固定、固接、连接或连通在另一元件上,也可以是通过其他中间连接件间接固定、固接、连接或连通在另一元件上。
除非另有定义,下文中所使用的所有专业术语与本领域技术人员通常理解的含义相同。本文中所使用的专业术语只是为了描述具体实施例的目的,并不是旨在限制本发明的保护范围。
一种在Word文件嵌入图表的自动生成方法,包括以下步骤,1)安装操作Word文档的Python库docx和图生成库matplotlib.pyplot;
2)打开Word文件,在其中插入表格和图,并编辑好表格和图的样式;
3)在表格中添加插入数据置位符,表格数据的标签分成三个部分,由表前缀、数据集名称以及数据项组成;图的标签是由插入图的名称来设置,图的名称分为两部分,一部分为图前缀“placeholder”、另一部分为生成图的数据集名称;
4)判断表格标签是否符合规范,如果不符合,则执行步骤五,如果符合,则进行步骤六;
5)提示标签设置错误,输出出错的标签,并结束程序;
6)配置图表的数据源,可以从数据库读取或者直接提供到Python源码文件中;
7)调用由Python写成的图表自动生成程序遍历Word文档中的表格和图,读出表格中标签解析出填充方式和数据集,在文档中自动填充数据;从图的属性中读出图片文件名,并从中解析出更新图所用的数据源,并采用pyplot库生成临时图,然后读取出图的数据内容,更新原图中的属性项pic_part._blob,完成图的更新,并且保持原文档中图表的位置和格式不发生变化;
8)结束Word内嵌图表的自动生成。
本发明中,步骤3)中表前缀包括“H-”和“V-”,分别表示数据按行和按列填充,数据集名称描述了数据源中那组数据,其内容实质上为Python中字典数据结构中的关键字,数据项为数据集中的某个数据。步骤7)中的数据填充方式,避免生成表格,而是在原表格中标签填写数据内容和更换图片内容,保持了图表的位置和格式,是本方法实现所见即所得操作的关键。
实施例1
本实施例为计量标准器稳定性考核图表的制作,作为本实施例所见即所得式word内嵌表格和图片的示例:
1)定义标签
表一
表一为“H-”开头标签示例,在此例中需要按行将各项数据自动更新到表格中,整个过程不改变表格中非标签内容。上例中标签为格式为“${H-0012g._1}”,其中“H-”表示按行填充,“0012g”表示表格内容对应到字典数据集的键值为“0012g”的数据集,“_1”至“_8”表示数据集中的数据项的键值。
表二
表二为“V-”开头标签示例,在此例中需要按列将各项数据自动更新到表格中,整个过程不改变表格中非标签内容。上例中标签为格式为“${V-AX64004-1._1}”,其中“V-”表示按列填充,“AX64004-1”表示表格内容对应到字典数据集的键值为“AX64004-1”的数据集,“_1”至“_10”以及“_y”、“_s”、“_result”、“_operator”表示数据集中的数据项的键值。
如图1所示为在此例中采取插入图片的文件名作为标签的方式,上例中文件名“placeholder-plot0012g”,其中“placeholder-”表示为图片置位标签,“plot”表示图片的生成方式,“0012kg”表示自动生成图片所采用的数据源对应到字典数据集的键值为“0012kg”的数据集,一旦执行自动更新操作,新的图片不改变置位图片所在的位置和尺寸大小。
2)准备数据集
从数据源中获取相关数据,按表格中所需要数据项进行组织,采用的是python语言的数据字典来存储数据集,例如下列键值为“AX64004-1”的数据集:
u'AX64004-1':[{'_result':u'\u5408\u683c','_y':'-10.8650',
'_9':u'-10.98','_8':u'-10.80','_7':u'-10.88','_6':u'-10.91','_5':u'-10.80','_4':u'
-10.80','_3':u'-10.85','_2':u'-10.80','_1':u'-10.83','_operator':u”,'_10':u'-11.0',
'date':'2012-04-07','condition':u'20.06\u210348.96%RH','_s':'0.0721'},{'_result':u'
\u5408\u683c','_y':'-10.9270','_9':u'-10.8','_8':u'-11.38','_7':u'-10.92','_6':u'-10
.88','_5':u'-10.81','_4':u'-10.87','_3':u'-10.91','_2':u'-10.88','_1':u'-11.01','_o
perator':u'test','_10':u'-10.81','date':'2014-07-23','condition':u'22.01\u2103
50.3%RH','_s':'0.1624'},{'_result':u'\u4e0d\u5408\u683c','_y':'-13.7483','_9':u'0',
'_8':u'0','_7':u'0','_6':u'-13.73','_5':u'-14.13','_4':u'-14.37','_3':u'-13.77','_
2':u'-13.77','_1':u'-12.72','_operator':u'test','_10':u'0','date':'2015-07-22
','condition':u'20.52\u210352.6%RH','_s':'0.5149'},{'_result':u'\u4e0d\u5408\u683c',
'_y':'2.5000','_9':u'0','_8':u'0','_7':u'0','_6':u'0','_5':u'0','_4':u'0','_3':
u'0','_2':u'3','_1':u'2','_operator':u'test','_10':u'0','date':'2017-11-25','condit
ion':u'20.06\u210348.96%RH','_s':'0.5000'}]
3)自动生成
遍历word文档中的表格和图片列表,按标签进行程序自动化填充。上述三个示例填充完后的结果分别如下:
表三为按行自动生成表格数据内容
表四为按列自动生成表格数据内容附源码:
1)构造数据集源码:
2)遍历word中表格并自动按列填充的源码:
3)更新图片的源码:

Claims (2)

1.一种在Word文件嵌入图表的自动生成方法,其特征在于:包括以下步骤,1)安装操作Word文档的Python库docx和图生成库matplotlib.pyplot;
2)打开Word文件,在其中插入表格和图,并编辑好表格和图的样式;
3)在表格中添加插入数据置位符,表格数据的标签分成三个部分,由表前缀、数据集名称以及数据项组成;图的标签是由插入图的名称来设置,图的名称分为两部分,一部分为图前缀“placeholder”、另一部分为生成图的数据集名称;
4)判断表格标签是否符合规范,如果不符合,则执行步骤五,如果符合,则进行步骤六;
5)提示标签设置错误,输出出错的标签,并结束程序;
6)配置图表的数据源,可以从数据库读取或者直接提供到Python源码文件中;
7)调用由Python写成的图表自动生成程序遍历Word文档中的表格和图,读出表格中标签解析出填充方式和数据集,在文档中自动填充数据;从图的属性中读出图片文件名,并从中解析出更新图所用的数据源,并采用pyplot库生成临时图,然后读取出图的数据内容,更新原图中的属性项pic_part._blob,完成图的更新,并且保持原文档中图表的位置和格式不发生变化;
8)结束Word内嵌图表的自动生成。
2.根据权利要求1所述的在Word文件嵌入图表的自动生成方法,其特征在于:步骤3)中所述表前缀包括“H-”和“V-”,分别表示数据按行和按列填充,数据集名称描述了数据源中那组数据,其内容实质上为Python中字典数据结构中的关键字,数据项为数据集中的某个数据。
CN201711272499.1A 2017-12-06 2017-12-06 一种在Word文件嵌入图表的自动生成方法 Active CN108153721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711272499.1A CN108153721B (zh) 2017-12-06 2017-12-06 一种在Word文件嵌入图表的自动生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711272499.1A CN108153721B (zh) 2017-12-06 2017-12-06 一种在Word文件嵌入图表的自动生成方法

Publications (2)

Publication Number Publication Date
CN108153721A true CN108153721A (zh) 2018-06-12
CN108153721B CN108153721B (zh) 2021-06-25

Family

ID=62466041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711272499.1A Active CN108153721B (zh) 2017-12-06 2017-12-06 一种在Word文件嵌入图表的自动生成方法

Country Status (1)

Country Link
CN (1) CN108153721B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110187916A (zh) * 2019-05-31 2019-08-30 四川长虹电器股份有限公司 基于数据配置生成Word文档的方法
CN111079388A (zh) * 2019-11-15 2020-04-28 中国水利水电第八工程局有限公司 水利水电工程河道截流水力计算成果自动生成方法、系统及介质
CN111325012A (zh) * 2020-01-22 2020-06-23 奇安信科技集团股份有限公司 word报表生成方法与系统
CN113721900A (zh) * 2021-09-06 2021-11-30 安徽工程大学 一种基于Python的钻孔灌注桩检验批快速生成方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080017722A1 (en) * 2000-01-03 2008-01-24 Tripletail Ventures, Inc. Method for data interchange
CN101122899A (zh) * 2007-09-18 2008-02-13 杭州华三通信技术有限公司 报表的生成方法和设备
CN105955940A (zh) * 2016-04-29 2016-09-21 云南电网有限责任公司 基于Java的数据分析系统自动生成Word报告
CN106776507A (zh) * 2015-11-19 2017-05-31 北京国双科技有限公司 Word文件生成方法和装置
CN106874244A (zh) * 2017-01-03 2017-06-20 宁波大红鹰学院 一种基于工作序列的文档自动生成模型的构建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080017722A1 (en) * 2000-01-03 2008-01-24 Tripletail Ventures, Inc. Method for data interchange
CN101122899A (zh) * 2007-09-18 2008-02-13 杭州华三通信技术有限公司 报表的生成方法和设备
CN106776507A (zh) * 2015-11-19 2017-05-31 北京国双科技有限公司 Word文件生成方法和装置
CN105955940A (zh) * 2016-04-29 2016-09-21 云南电网有限责任公司 基于Java的数据分析系统自动生成Word报告
CN106874244A (zh) * 2017-01-03 2017-06-20 宁波大红鹰学院 一种基于工作序列的文档自动生成模型的构建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
庄振春 等: "基于VBA的数据报告自动生成系统", 《电子设计工程》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110187916A (zh) * 2019-05-31 2019-08-30 四川长虹电器股份有限公司 基于数据配置生成Word文档的方法
CN111079388A (zh) * 2019-11-15 2020-04-28 中国水利水电第八工程局有限公司 水利水电工程河道截流水力计算成果自动生成方法、系统及介质
CN111079388B (zh) * 2019-11-15 2023-06-09 中国水利水电第八工程局有限公司 水利水电工程河道截流水力计算成果自动生成方法、系统及介质
CN111325012A (zh) * 2020-01-22 2020-06-23 奇安信科技集团股份有限公司 word报表生成方法与系统
CN111325012B (zh) * 2020-01-22 2024-02-06 奇安信科技集团股份有限公司 word报表生成方法与系统
CN113721900A (zh) * 2021-09-06 2021-11-30 安徽工程大学 一种基于Python的钻孔灌注桩检验批快速生成方法
CN113721900B (zh) * 2021-09-06 2023-08-08 安徽工程大学 一种基于Python的钻孔灌注桩检验批快速生成方法

Also Published As

Publication number Publication date
CN108153721B (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
US10810365B2 (en) Workflow system and method for creating, distributing and publishing content
CN108153721A (zh) 一种在Word文件嵌入图表的自动生成方法
CA3152833C (en) Webpage editing method and device
CN104699714B (zh) 将书版格式文件转换为epub格式文件的方法及装置
EP3104318A1 (en) Information processing apparatus, method, and program
CN105528418B (zh) 一种设计文档生成方法及装置
US8584149B2 (en) Methods of populating a third-party document with digital information content
JP2007034813A (ja) 複数自然言語のソフトウェア説明書生成システム
US20070256062A1 (en) Computer programming and markup language source code visualization tool
US20090327873A1 (en) Page editing
US20150347353A1 (en) Document layering platform
JP2007534036A (ja) データベースにおけるxmlスキーマの現場での発展
CN103761095B (zh) 一种生成通用的升级文件头部数据信息的方法
US20110023014A1 (en) Method and apparatus for modifying an executable application using in-memory object representation
CN106843891A (zh) 一种基于增量的表单分层扩展方法
CN106407172A (zh) 一种基于xml的报表生成方法
CN105786925B (zh) 基于参考模型进行动态数据建模的方法及装置
CN108733332B (zh) 一种通用的打印模板元数据设计方法
KR20140096225A (ko) 인터랙티브 멀티미디어 전자책 저작 장치 및 방법
CN111967274A (zh) 标签转换处理方法、装置、电子设备及可读存储介质
WO2006103760A1 (ja) 文書変換活用システム
JP2006011756A (ja) プログラム変換プログラム、プログラム変換装置およびプログラム変換方法
US9098263B2 (en) Database application assembly and preparation
US8234563B1 (en) Editing of customised documents
CN115309476A (zh) 一种基于浏览器的ofd文件显示和编辑方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240519

Address after: Room 602 and 603, 6th Floor, Fusheng Business Building, No. 859 Xiaoxiang North Road, Guanshaling Street, Yuelu District, Changsha City, Hunan Province, 410000

Patentee after: Hunan soul Psychology Application Technology Co.,Ltd.

Country or region after: China

Address before: 410000 No. 498 Shaoshan South Road, Tianxin District, Changsha City, Hunan Province

Patentee before: CENTRAL SOUTH University OF FORESTRY AND TECHNOLOGY

Country or region before: China

TR01 Transfer of patent right