如题所示,先抛出一个问题,如何使用JAVA将Excel中的报表导出为图片格式?

首先说一下这个问题的背景,也就是为什么博主会碰到这个问题

随着微信,易信之流大行其道,企业内部的办公交流、绩效考评甚至考勤拍照等事务都转移到形形色色各种微信群、易信群了

压力山大的中国电信就是其中一个企业,所有电信员工手机上基本上都装着易信客户端

并不是因为易信是由中国电信更网易合作开发的IM产品,电信员工就自觉地热爱这个聊天工具

而是因为基本上所有部门都建有自己的易信群,平时工作上的交流很少发OA邮件,而是在易信上沟通了

尤其是涉及到经营发展的报表,原先每天上午八点出一个截止到上一日的统计报表,用Excel形式分发到各个支局就可以了

现在随着经营管控的不断精细化,领导要求每天从8:00-18:00每个时点整点通报各支局当日的业绩完成情况

整点报表通过易信群,发布给所有支局负责人,顺便说一句,群里有各部室领导和公司老总

这就相当恐怖了,对支局负责人来说恐怖,对数据支撑人员来说也很恐怖

博主作为一名干了三年数据支撑技术工作的支局负责人来说,已经跪了

抛开支局负责人的精神压力,就说说要实现这事儿,数据支撑人员也要从上午忙到晚上,每个时点都不能耽误

纯手工,有人值守的日子太难受了

要想实现整时整点地自动化执行,怎么办?

执行数据库好说,做个JOB整点执行就行了

生成Excel也好说,在Excel报表的封面sheet中做好各类函数调用,在隐藏sheet中使用JAVA的POI以及JDBC等技术刷一遍数据就可以了

问题是发报表,之前将Excel报表文件作为附件发送OA邮件,JAVA中使用jmail等技术,通过smtp协议轻而易举啊

现在需要人工截图,复制粘贴到易信客户端中,发送到易信群里

这项工作如果手工完成,需要的时间也不长,基本上30秒可以搞定,如果每天就上午发一次,完全不必麻烦写代码执行,我也不会写这篇博客

然而尊敬的电信公司领导要求每天从8:00-18:00每个整点通报,周六周日不休息,节假日不休息

你想想数据支撑人员能不能受得了,一线销售人员全年无休忙个不停,你不能让人家后端数据部门也跟着折腾啊

通过博主研究了易信的OAuth后,发现通过易信提供的API接口,使用WEB开发中基本的POST方式,可以很容易将图片推送给指定好友

然后就出现了这篇博客一开始抛出的问题:

如何使用JAVA将Excel中的报表导出为图片格式?

下一篇博文将详细描述博主的思路和最终实现代码。

JAVA将Excel中的报表导出为图片格式(一)问题背景的更多相关文章

  1. JAVA将Excel中的报表导出为图片格式(三)换一种实现

    上一篇介绍了使用Java的Robot机器人实现截图,然后将剪贴板上的数据流生成PNG图片 但是经过博主的不断测试,在完全依赖远程桌面的没有终端显示器的服务器上 使用截图方式是不可行的,因为一旦使用了远 ...

  2. JAVA将Excel中的报表导出为图片格式(二)实现思路

    接上文,一封类似于下方设计的Excel报表,如何将它指定的区域导出为样式一模一样的JPG图片呢? 要实现这个功能没有现成的解决方案,谷歌度娘了好久也没有,最终自己想了几条思路: 思路1:将报表中的背景 ...

  3. 【转】c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据

    准备工作就是可以分页的DataGridView,和两个按钮,一个用来导出当前页数据到Excel,一个用来导出全部数据到Excel 没有使用SaveFileDialog,但却可以弹出保存对话框来 先做导 ...

  4. Java处理Excel中的日期格式

    Java处理Excel中的日期格式 2011-12-23 17:34:03|  分类: java |举报 |字号 订阅 下载LOFTER 我的照片书  |   在Excel中的日期格式,其数值为距离1 ...

  5. Java 解析Excel(xls、xlsx两种格式)

    Java 解析Excel(xls.xlsx两种格式) 一.环境 JDK 1.8 二.JAR 1.commons-collections4-4.1.jar 2.poi-3.9-20121203.jar ...

  6. java 在Excel中插入图片 POI实现

    一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97- ...

  7. java程序转换excel中科学记数法的数据为date类型

    今天出于某些原因从mongodb数据库中导出了一些数据,为了更直观的发送给其他人查阅,便使用mongoVUE的导出为excel功能.   但是导出后出现了一个问题,里边有一列存储时间的,存储的是lon ...

  8. 在纯JaveScript中实现报表导出:从“PDF”到“JPG”

    我们在前端报表中完成了各种工作数据的输入或内容处理之后,需要做什么? 数据的导出! 这些数据的常用导出格式有:PDF.Excel.HTML和图片几大类型. 但总有一些实际应用场景,需要的不仅仅是将现有 ...

  9. Java实现Excel中的NORMSDIST函数和NORMSINV函数

    由于工作中需要将Excel中的此两种函数转换成java函数,从而计算内部评级的资本占用率和资本占用金额.经过多方查阅资料和整理,总结出如下两个转换方法 标准正态分布累计函数NORMSDIST: pub ...

随机推荐

  1. DB天气app冲刺二阶段第六天

    今天干了一件让我有点小激动的事情 就是我感觉我貌似找到了为什么我的项目会闪退了有的时候..但是还不确定.等会会再试试看看到底对不对.好吧其实今天就干了这些事整整一下午调试,找bug,决定从头开始一点一 ...

  2. SQLServer2005:在执行批处理时出现错误。错误消息为: 目录名无效

    删除数据时忘了想delete删除的话会记录日志,更何况是我删除百万条数据,结果还没删完服务器内存就占慢了,一切数据都进不来了,估计这种情况导致我的数据库有问题了,右键打开表提示:目录名无效,执行SQL ...

  3. 【转】如何设置Android软键盘的默认不弹出?

    在开发Anroid的时候,当你打开一个界面的时候,屏幕的焦点会自动停留在第一个EditText中,Android的软键盘默认会自动弹出,用户第一眼连界面都没有看清楚,软键盘就弹出来了,这就影响到了用户 ...

  4. Useful related java API for Android

    Language_suport and Other Language-Oriented API: strings,exceptions, threads, #java.lang.* offers th ...

  5. mysql federated engine

    mysql)) -> engine=federated -> connection='mysql://root@localhost:3306/t1/t';

  6. 【BZOJ】【2561】最小生成树

    网络流/最小割 对于所有小于L的边求一个割使得U,V不连通,这样就可以保证L可能在最小生成树里. 最大生成树同理. 答案累加一下即可.(Orz Hzwer) (我一开始怎么会sb地去想到一起求呢……) ...

  7. oracle——分析函数——排序值分析函数

    一.问题描述 查询列表时,我们有时需要对查询结果依据某个字段进行排名. 如果每条记录在排序字段上都不相同,我们可以将原查询作为一个视图,查询其rownum,便可以实现简单排序,例如: select r ...

  8. cf 359C

    stl 里的map使用   然后就是快速幂取余 #include <cstdio> #include <cstring> #include <algorithm> ...

  9. HTTP长轮询和短轮询

    http 协议介绍: http 协议是请求/响应范式的, 每一个 http 响应都是由一个对应的 http 请求产生的; http 协议是无状态的, 多个 http 请求之间是没有关系的. http ...

  10. 《head first java 》读书笔记(三)

    Updated 2014/04/03 --P518 Thread需要任务,任务是实现过Runnable的实例.Runnalbe这个接口只有一个方法.run()会是新线程所执行的第一项方法.要把Runn ...