# excel-report-conversion **Repository Path**: lonely_521/excel-report-conversion ## Basic Information - **Project Name**: excel-report-conversion - **Description**: 1. 根据excel模板,生成excel文件,excel模板样式保持不变,支持简单excel文件模板,单元格填充以及循环列表。 2. Excel、word、ppt转换成pdf文件 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-03-17 - **Last Updated**: 2023-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工程简介 1. 根据excel模板,生成excel文件,excel模板样式保持不变,支持简单excel文件模板,单元格填充以及循环列表。 2. Excel、word、ppt转换成pdf文件 # 操作步骤 1. 使用的MySQL5.7数据库,创建数据库后,执行sql目录下的database-mysql.sql文件脚本。其中datasource、template、templatedata为必须表,user表为测试数据表。 2. 修改application-dev.yml配置文件中的数据库连接以及用户名密码 3. resources目录下的template.xlsx 和 template-new.xlsx文件为模板文件,可自行设置,并放置到自己磁盘任意位置 4. 启动项目,成功后访问http://localhost:8080/erc/api/generExcelReports生成excel文件 5. 访问http://localhost:8080/erc/api/generPdfReports 生成pdf文件 6. 目录介绍 ![img.png](./doc/目录.png) - (1)aspose相关jar不能从maven仓库下载,需要本地加载 - (2)sql脚本为项目使用的数据库表创建脚本,mysql版本。可以根据不同数据库进行调整 - (3)监听类是为了在项目启动结束后,加载配置在数据库中的所有数据源,所有数据源为报表所使用的数据源,数据库密码暂时为明文,可根据需要进行加密设置 - (4)工具类包下为所有的工具类,包含了aspose进行操作的封装;DataSource的初始化;根据模板生成Excel文件工具类,以及字体处理工具类 - (5)配置文件为springboot的配置文件 - (6)license.xml文件为aspose的授权文件,该文件内容不能修改,修改后不能使用aspose相关的jar - (7)模板文件,案例模板文件,可以放置到磁盘任何目录,实际使用过程中从数据库配置中读取位置 7. 数据库表---数据库表可以根据情况进行合并操作 - (1)datasource数据库表,本表主要是定义报表模板使用的所有数据源,目前密码为明文,可进行改造 ![img.png](./doc/数据源.png) - (2)template模板定义表,主要定义有哪些报表模板,服务接口传参只需要传参模板编号,找到报表模板以及存储位置 ![img.png](./doc/模板.png) - (3)templatedata模板数据定义表,主要定义模板对应的数据源以及取数SQL,需要注意的是,templatedatListName字段,如果是List,需要填写List的名字,还需要和模板中的定义保持一致,必须包含“List”字样。如果是Map则可以随便填写。SQL编写需要注意两点,字段需要有别名,参数需要使用{{参数名称}}进行定义 ![img.png](./doc/模板数据定义.png) ![img_1.png](./doc/SQL定义.png) 8. 模板定义 - (1)模板暂时仅支持变量替换以及简单的List列表,不支持list列表中合并单元格 - (2)变量定义必须使用{{变量名称}}进行定义,变量名称为sql中的别名 - (3)循环列表必须在行的第一个单元格定义,名称为templatedatListName字段-{{变量名}},变量名称为List中SQL语句中SQL字段别名 ![img.png](./doc/模板定义.png) 9. Excel、word、ppt转换成pdf文件 AsposeUtil.java类是转换工具类的封装,可以根据情况进行再次封装 10. PostMan请求截图 ![img.png](./doc/请求示例1.png) ![img_1.png](./doc/请求示例2.png) # 注意事项 1. 本项目为技术验证项目,代码完全开源,可转载、下载学习、毕业设计、商用,代码完全开源 2. Excel、word、ppt转换成pdf文件,使用了aspose相关的jar,仅用于学习,商用请购买授权 3. 本项目代码实现不具备生成环境使用条件,如需生产环境使用,请下载代码后进行优化使用