计算机系统应用教程网站

网站首页 > 技术文章 正文

自动化:利用excel开源库自动生成文档,解决重复性操作

btikc 2024-09-08 12:03:56 技术文章 21 ℃ 0 评论

不管是生活还是工作,我们经常会使用excel文档,如果仔细观察,就会发现其中会很多重复性的操作。因此,这就给我们提出这样的问题,怎样才能自动生成文档,解决重复性的操作。

初步的解决方案就是代码层面上组合读写excel接口,从而实现自动生成文档的功能。

如果自己实现读写excel文档库的话,那么将会很耗时,并且也不现实。所以通过网络搜索寻找到基于QT来读写excel文档的开源库QXlsx。

本文将介绍开源库QXlsx的简单使用和效果,基于这些操作的组合,就可以实现自动生成文档功能,并且能够重复使用。

一、简单的例子

1、 网上下载QXlsx开源库后,需要将QXlsx加载到Qt Creator工具,直接参考开源库代码中的HowToSetProject.md文件即可

2、调用开源库接口write, 通过两种方式展示写入数据,一种是通过单元格名称写入字符串,比如A1、B1等,另一种方式是通过行列方式写入字符串。最后调用开源库接口saveAs生成excel文档。

3、编译运行程序成功之后,打开生成的excel文档,可以看到内容如下图所示

二、自动换行

有时候写入单元格的内容比较长,超过了单元格的展示范围,而我们又不想扩大单元格的宽度,怎么办呢,可以通过设置自动换行的方式,让写入单元格的内容自动适配当前的单元格。

1、定义QXlsx::Format类型的格式变量,然后初始化格式,携带配置好的格式写入到单元格

2、最后生成的excel文档的内容效果如下图所示,可以看出长字符串自动换行以便显示所有数据内容。

三、多个表单

当需要多个表单来保存不同的数据的时候,这就涉及到创建多个表单的问题。下面将用创建两个表单的例子来作为简单的入门知识点。

1、调用接口addSheet来添加表单,并且往表单中写入数据

2、最后生成的excel文档中,分别创建了两个表单,分别为first year 和second year。


四、读取excel文档

写入数据到excel文档之后,肯定有需求场景需要读取excel文档数据来展示,所以,接下来将说明读取excel文档的所有数据的方法。

1、先读取excel文档,然后获取每一个表单,读取每一个表单中的单元格内容

2、最后输出的打印信息如下所示, 将文档中所有的单元格数据打印出来。

五、总结

从上面的例子中,可以看出QXlsx::Document是控制整个excel文档的类,它可以控制表单的宽高,控制表单等功能,而QXlsx::Format则是控制单元格格式的类,它可以设置字体、字体大小,对齐方式等。

QXlsx的局限性,它不支持多线程,当表单比较多的时候,加载表单会很耗时。所以,它不适用大量读写操作的场景。对于大量读写操作的场景,可以考虑使用json进行保存,当需要excel数据的时候,再将json中的数据转化到excel文档。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表