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

文章图片

文章图片

文章图片

文章图片

不管是生活还是工作 , 我们经常会使用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 。
第一个表单first year
第二个表单second year
四、读取excel文档写入数据到excel文档之后 , 肯定有需求场景需要读取excel文档数据来展示 , 所以 , 接下来将说明读取excel文档的所有数据的方法 。
1、先读取excel文档 , 然后获取每一个表单 , 读取每一个表单中的单元格内容
2、最后输出的打印信息如下所示 将文档中所有的单元格数据打印出来 。
五、总结从上面的例子中 , 可以看出QXlsx::Document是控制整个excel文档的类 , 它可以控制表单的宽高 , 控制表单等功能 , 而QXlsx::Format则是控制单元格格式的类 , 它可以设置字体、字体大小 , 对齐方式等 。
【excel|自动化:利用excel开源库自动生成文档,解决重复性操作】QXlsx的局限性 , 它不支持多线程 , 当表单比较多的时候 , 加载表单会很耗时 。 所以 , 它不适用大量读写操作的场景 。 对于大量读写操作的场景 , 可以考虑使用json进行保存 , 当需要excel数据的时候 , 再将json中的数据转化到excel文档 。
推荐阅读
- 人工智能|科学家利用人工智能改进假肢:可实现“自主行走”
- 慢性肾脏病|世界肾脏日丨让肾病患者更好活着!关于自动化腹膜透析你了解多少?
- 量子门|利用超导量子比特实现基于非绝热几何相的量子门
- 核糖核酸|昆山杜克大学科研团队研发世界首份利用细菌发酵生产高功能RNA
- 石斑鱼|拿骚石斑鱼在夜晚举办“交配盛会”,却惨遭人类利用,濒临灭绝
- 地质|中国一所高校,曾利用卫星7次发出预警,帮助大量民众远离危险
- 万连步|突破磷石膏利用世界级难题,万连步三条“绿色”建议直击农业焦点
- 蛋糕最简单的做法,不用烤箱不用打蛋器,利用2个小妙招轻松解决
- 澳大利亚|创新技术在澳内陆投入试验:利用空气中的水制造氢能源
- 秸秆|省人大代表杨培印:既要禁更要疏 找到秸秆利用“好出路”
