葡萄城花卷 发表于 2022-11-17 13:57:35

React + Springboot + Quartz,从0实现Excel报表自动化

本帖最后由 葡萄城花卷 于 2022-11-17 14:01 编辑

一、项目背景企业日常工作中需要制作大量的报表,比如商品的销量、销售额、库存详情、员工打卡信息、保险报销、办公用品采购、差旅报销、项目进度等等,都需要制作统计图表以更直观地查阅。但是报表的制作往往需要耗费大量的时间,即使复用制作好的报表模版,一次次周期性对数据的复制粘贴操作也很耗人,同时模版在此过程中也会逐渐变得面目全非。
基于此,我们需要挖掘数据背后隐藏的关联信息,将人工的常规性操作抽离出来,使用工具和代码去实现,这个过程就称之为报表自动化。文内附前后端demo项目源码,家人们自行下载即可。二、报表自动化的优势报表自动化带来的价值有哪些呢?
1、节省时间,提高效率
身处信息**的时代,任何一家企业都有体量庞大、结构复杂、各种各样的数据,多类数据交互融合,对其进行分析经常伴随着大量人力资源的消耗。自动化报表通过合理的设计,独立出各个业务功能模块,后续重复引用该模块,实现重复操作的代码复用。
对于固定流程或逻辑的一些操作,计算机的执行速度是人力不可及的,为我们节省了时间,可以投入更有意义的工作。
2、降低出错率
人工操作总是受太多不可控因素影响,存在各种出错的潜在可能。与之相比,自动化意味着通过编码手段实现了持久化的逻辑、流程,经过重复的测试验证之后,便可完全信任该程序。在重复性的工作场景下机器产出的稳定性远高于人工操作。
3、时效性高
日报、周报、月报这种周期性的报表,人为操作很难控制时间的准确性,但是通过代码控制可以最大程度的保证其定点触发操作。三、系统功能点
[*]任务配置灵活:支持根据业务需求,通过界面操作控制任务的启停状态,任务对应生成的文件类型等。
[*]报表模版设计自由:业务人员可根据对应任务配置的预览数据自定义报表模版,然后将其保存生效。
[*]前端预览:支持从前端预览报表详情。
[*]定时发送:定时生成报表文件并将其同步到微信群。
[*]支持多种类型:支持Excel、PDF、图表等文件类型的报表格式。
[*]数据自动抽取:动态读取数据库中的数据生成报表。
[*]模版和数据独立存储:使用在线表格设计器编辑模版,存储时只保存模版,数据从数据库加载。
四、方案设计1、整体流程报表自动化的起点是能对接数据源,期间能自动化的生成事先设计好格式的报表,最终通过企业微信自动推送消息。具体流程可以分为3个步骤:
1.报表模版设计
2.对接数据源:从数据库中读取数据,动态适配数据模版。
3.自动化过程实现:利用定时任务,定时捞取数据,借助GcExcel生成对应类型的文件,通过对接企业微信的API,将文件同步到微信群。2、技术栈前端:react+spreadJs
Demo地址:https://gcdn.grapecity.com.cn/forum.php?mod=attachment&aid=MjM4NzkxfDFhNjNlYjc2fDE2NjYyNDUxMjZ8NjI2NzZ8OTk3MTg%3D
后端:Java+GcExcel+mysql+Quartz
Demo地址:
https://gcdn.grapecity.com.cn/forum.php?mod=attachment&aid=MjM4NzkyfGExOWYxNmQzfDE2NjYyNDUxMjZ8NjI2NzZ8OTk3MTg%3D3、具体实现3.1 数据库表设计note:此为测试demo,故没有创建主键索引之外的索引。
3.1.1 任务配置列表 task_config
依赖Quartz组件实现定时任务。读取任务配置表中启动状态的任务配置,按照任务类型读取对应数据源的增量更新数据。


data:image/png;base64,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**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

SQL
CREATE TABLE `order` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
    `order_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '订单ID',
    `order_amount` DECIMAL DEFAULT NULL DEFAULT 0 COMMENT '订单金额',
    `order_discount` DECIMAL DEFAULT NULL DEFAULT 0 COMMENT '订单折扣金额',
    `shipping_fee` DECIMAL DEFAULT NULL DEFAULT 0 COMMENT '运费',
    `receiver_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '收件人姓名',
    `receiver_state` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '省',
    `receiver_city` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '市',
    `receiver_district` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '区',
    `receiver_address` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '详细地址',
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
)ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COMMENT='订单表';

3.1.2 订单信息表 order
订单相关数据源信息,对应订单类的报表任务。


data:image/png;base64,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

SQL
CREATE TABLE `waybill` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
    `order_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '订单ID',
    `waybill_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '发货单ID',
    `express_sn` VARCHAR(128) DEFAULT NULL DEFAULT '' COMMENT '物流单号',
    `express_name` VARCHAR(64) DEFAULT NULL DEFAULT '' COMMENT '物流公司名称',
    `receiver_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '收件人姓名',
    `receiver_state` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '省',
    `receiver_city` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '市',
    `receiver_district` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '区',
    `receiver_address` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '详细地址',
    `out_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '发货时间',
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
)ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COMMENT='发货单表';

3.1.3 发货单表 waybill
发货单相关数据源信息,对应发货单类的报表任务。
data:image/png;base64,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

SQL
CREATE TABLE `waybill` (
    `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
    `order_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '订单ID',
    `waybill_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '发货单ID',
    `express_sn` VARCHAR(128) DEFAULT NULL DEFAULT '' COMMENT '物流单号',
    `express_name` VARCHAR(64) DEFAULT NULL DEFAULT '' COMMENT '物流公司名称',
    `receiver_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '收件人姓名',
    `receiver_state` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '省',
    `receiver_city` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '市',
    `receiver_district` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '区',
    `receiver_address` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '详细地址',
    `out_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '发货时间',
    `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE
)ENGINE=INNODB DEFAULT CHARSET=UTF8MB4 COMMENT='发货单表';


3.2 功能拆解1、前端实现
前端使用React框架,嵌入了SpreadJS组件,初始化时从后端读取任务配置列表数据并展示。可从前端配置任务规则,主要是配置模版信息。2、后端
后端是一个SpringBoot项目,嵌入GcExcel组件对编辑、导出等操作,同时借助Quartz定时任务调度框架实现定时任务的管理,并接入了企业微信暴露的群机器人消息对接API,发送消息到企业微信群。
定时任务调度框架quartz
Quartz的三个核心概念:调度器、任务、触发器,三者之间的关系是:
一个作业,比较重要的三个要素就是Scheduler,JobDetail,Trigger;而Trigger对于Job而言就好比一个驱动器,没有触发器来定时驱动作业,作业就无法运行;对于Job而言,一个Job可以对应多个Trigger,但对于Trigger而言,一个Trigger只能对应一个Job,所以一个Trigger只能被指派给一个Job;如果你需要一个更复杂的触发计划,可以创建多个Trigger并指派它们给同一个Job。


调度器的主要API
Java
//绑定jobDetail与trigger
scheduler.scheduleJob(jobDetail, trigger);
//检查JobDetail是否存在
scheduler.checkExists(JobKey.jobKey(name, group))
//检查Trigger是否存在      
scheduler.checkExists(TriggerKey.triggerKey(name, group))
//删除jobDetail      
scheduler.deleteJob(JobKey.jobKey(name, group))
//立即执行一次指定的任务               
scheduler.triggerJob(JobKey.jobKey(name, group), dataMap)
//启动任务调度      
scheduler.start();      
//暂停指定的job         
scheduler.pauseJob(jobKey);   
//任务调度挂起,即暂停操作   
scheduler.standby();   
//关闭任务调度,同shutdown(false)   
scheduler.shutdown();   
//表示等待所有正在执行的Job执行完毕之后,再关闭Scheduler   
scheduler.shutdown(true);   
// 表示直接关闭Scheduler   
scheduler.shutdown(false);


定时任务出发规则:
1、使用cron表达式 定时发送Java
Trigger trigger = TriggerBuilder.newTrigger()
      .withIdentity("trigger1", "group1")
      .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))// 日历
      .build();
2、使用simpleTrigger触发器
为那种需要在特定的日期/时间启动,且以一个可能的间隔时间重复执行 n 次的 Job 所设计的。<span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">JavaScript
</span><span class="hljs-operator" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(171, 86, 86); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">/</span><span class="hljs-operator" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(171, 86, 86); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">/</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">立即开始执行,</span><span class="hljs-number" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(136, 0, 0); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">2</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">秒执行一次,重复</span><span class="hljs-number" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(136, 0, 0); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">3</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">次,</span><span class="hljs-number" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(136, 0, 0); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">3</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">秒后结束执行(当重复次数或者结束时间有一个先达到时,就会停止执行)
</span><span class="hljs-keyword" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(0, 0, 255); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">Trigger</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);"> </span><span class="hljs-keyword" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(0, 0, 255); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">trigger</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);"> </span><span class="hljs-operator" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(171, 86, 86); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">=</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);"> TriggerBuilder.newTrigger()
                .withIdentity("trigger1", "triggerGroup1")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(</span><span class="hljs-number" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(136, 0, 0); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">2</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">).withRepeatCount(</span><span class="hljs-number" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(136, 0, 0); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">3</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">))
                .endAt(</span><span class="hljs-keyword" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(0, 0, 255); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">new</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);"> </span><span class="hljs-type" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(163, 21, 21); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">Date</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">(</span><span class="hljs-keyword" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(0, 0, 255); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">new</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);"> </span><span class="hljs-type" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(163, 21, 21); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">Date</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">().getTime() </span><span class="hljs-operator" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(171, 86, 86); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">+</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);"> </span><span class="hljs-number" style="transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding-top, padding-bottom, margin-top, margin-bottom, color, opacity; color: rgb(136, 0, 0); line-height: 1.8; font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap;">3000</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 12px; white-space: pre-wrap; background-color: rgb(245, 245, 245);">L))
                .build();
</span>



五、效果演示使用步骤说明:整个页面布局可以分为两大部分,上半部分为从数据库中读取的任务配置列表,下半部分为SpreadJS的Designer模块。在前端配置任务规则后,后端服务会读取具体的任务配置信息,调度任务进行生产。整个操作可以分为以下几个步骤:
1)、读取任务配置数据到React表格中。
2)、选中特定的任务配置项,读取对应数据源的数据到Worksheet中展示。
3)、编辑报表任务模版并保存。
由于json文件是存储在mysql数据库表中的一个字段中,若字段太大会导致溢出且影响性能,故仅保存样式,后端进行数据源动态查询去适配生成报表。
一个完整的json对象示例如下所示:JSON
{"version":"15.0.2","sheetCount":1,"customList":[],"sheets":{"order":{"name":"order","isSelected":true,"rowCount":20,"columnCount":13,"frozenTrailingRowStickToEdge":true,"frozenTrailingColumnStickToEdge":true,"theme":"Office","data":{"defaultDataNode":{"style":{"themeFont":"Body"}}},"rowHeaderData":{"defaultDataNode":{"style":{"themeFont":"Body"}}},"colHeaderData":{"defaultDataNode":{"style":{"themeFont":"Body"}}},"columns":[{"name":"receiverName","displayName":"姓名","size":60,"visible":true},{"name":"orderAmount","displayName":"订单金额","size":80,"visible":true},{"name":"orderDiscount","displayName":"订单折扣","size":60,"visible":true}],"leftCellIndex":0,"topCellIndex":0,"selections":{"activeSelectedRangeIndex":-1,"length":0},"autoGenerateColumns":false,"rowOutlines":{"items":[]},"columnOutlines":{"items":[]},"cellStates":{},"states":{},"outlineColumnOptions":{},"autoMergeRangeInfos":[],"charts":[{"name":"Chart 1","x":4,"y":4,"width":480,"height":300,"startRow":0,"startRowOffset":4,"startColumn":0,"startColumnOffset":4,"endRow":15,"endRowOffset":4,"endColumn":7,"endColumnOffset":36,"isSelected":true,"typeName":"2","chartSpace":{"typeName":"chartSpace","roundedCorners":false,"chart":{"title":{"tx":{"rich":{"p":[{"elements":[{"elementType":0,"t":"Amount","rPr":{"latin":{"typeface":"+mn-lt"},"sz":18.67,"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}}],"pPr":{"defRPr":{"latin":{"typeface":"+mn-lt"},"sz":18.67,"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}},"endParaRPr":{}}],"bodyPr":{},"lstStyle":{}}},"overlay":false,"spPr":{"noFill":true,"ln":{"noFill":true},"effectLst":{}}},"autoTitleDeleted":false,"plotArea":{"axes":[{"axisType":0,"axId":59604390,"delete":false,"majorTickMark":2,"minorTickMark":2,"tickLblPos":2,"title":null,"axPos":0,"scaling":{"orientation":1},"spPr":{"ln":{"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}},"numFmt":{"formatCode":"General"},"txPr":{"p":[{"elements":[{"elementType":0,"t":"","rPr":{"latin":{"typeface":"+mn-lt"},"sz":12,"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}}],"pPr":{"defRPr":{"latin":{"typeface":"+mn-lt"},"sz":12,"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}},"endParaRPr":{}}]},"auto":true,"lblOffset":0,"tickMarkSkip":1,"noMultiLvlLbl":true,"AxisGroup":0,"AxisType":0,"crosses":1,"crossAx":36407267},{"axisType":3,"axId":36407267,"delete":false,"majorTickMark":2,"minorTickMark":2,"tickLblPos":2,"title":null,"axPos":1,"scaling":{"orientation":1},"spPr":{"ln":{"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}},"numFmt":{"formatCode":"General"},"txPr":{"p":[{"elements":[{"elementType":0,"t":"","rPr":{"latin":{"typeface":"+mn-lt"},"sz":12,"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}}],"pPr":{"defRPr":{"latin":{"typeface":"+mn-lt"},"sz":12,"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}},"endParaRPr":{}}]},"majorGridlines":{"spPr":{"ln":{"solidFill":{"srgbClr":{"val":}},"w":1},"effectLst":{}}},"AxisGroup":0,"AxisType":1,"crosses":1,"crossBetween":0,"crossAx":59604390}],"chartGroups":[{"chartType":6,"ser":[{"seriesType":0,"idx":0,"order":0,"cat":{"strRef":{"f":"order!$A$1:$A$2"}},"val":{"numRef":{"f":"order!$B$1:$B$2","numCache":{"formatCode":"General"}}},"shape":2,"invertIfNegative":false},{"seriesType":0,"idx":1,"order":1,"cat":{"strRef":{"f":"order!$A$1:$A$2"}},"val":{"numRef":{"f":"order!$C$1:$C$2","numCache":{"formatCode":"General"}}},"shape":2,"invertIfNegative":false}],"axId":,"barDir":1,"grouping":1,"gapWidth":150,"varyColors":false,"overlap":-27}],"spPr":{"noFill":true,"ln":{"noFill":true}}},"legend":{"legendPos":4,"spPr":{"noFill":true,"ln":{"noFill":true}},"txPr":{"p":[{"elements":[{"elementType":0,"t":"","rPr":{"latin":{"typeface":"+mn-lt"},"sz":12,"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}}],"pPr":{"defRPr":{"latin":{"typeface":"+mn-lt"},"sz":12,"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}},"endParaRPr":{}}]}},"plotVisOnly":true,"dispBlanksAs":1,"dispNaAsBlank":false},"spPr":{"solidFill":{"schemeClr":{"val":0}},"ln":{"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}},"w":1}},"txPr":{"p":[{"elements":[{"elementType":0,"t":"","rPr":{"latin":{"typeface":"+mn-lt"},"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}}],"pPr":{"defRPr":{"latin":{"typeface":"+mn-lt"},"b":false,"solidFill":{"schemeClr":{"val":1,"lumMod":,"lumOff":}}}},"endParaRPr":{}}]}},"useAnimation":false}],"preserveUnsupportedChartFlag":false,"printInfo":{"paperSize":{"width":850,"height":1100,"kind":1}},"shapeCollectionOption":{"snapMode":0},"index":0}},"sheetTabCount":0,"pivotCaches":{},"i0c":0}

妄想社成员 发表于 2023-1-5 17:10:09

6
页: [1]
查看完整版本: React + Springboot + Quartz,从0实现Excel报表自动化