如题所示,先抛出一个问题,如何使用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. ProgressDialog弹出时的底色变暗(转)

    背景:在做一个进度条时,不想让它的背景变暗,以免影响其他区域的正常显示. 在网上搜索时,看到的方法多数是: 方法一 :在代码中 可以这么设置 Window mWindow = getWindow(); ...

  2. 《C++Primer》复习——with C++11 [4]

    考虑到STL的掌握主要靠的是练习,所以对于STL这部分,我把书中的练习都做一遍,加深印象.这些练习是第9.10.11.17章的,分别是顺序容器.泛型算法和关联容器等. ——10月22日 /*----- ...

  3. For和While在C和MATLAB中的区别——MATLAB的大坑

    For和while是常见的循环关键字,在许多语言中都是通用的.但是想必不是所有人,都被其中的区别困扰过,尤其是MATLAB“程序员”. x=[,,,,,,]; i=; while i<=leng ...

  4. 无root权限安装python

    http://lujialong.com/?p=150 pipe 安装第三方包 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip http://www.cn ...

  5. HtmlAgilityPack 简单运用

    WebClient client = new WebClient(); MemoryStream ms = new MemoryStream(client.DownloadData("htt ...

  6. 客户端服务端通信protocol

    这个协议不知我在上面耗费了多长时间,也有人问过我咋回事,这个protocol不长,但对于我来说理解起来很费劲,今天回来看看忽然看懂了(80%),只能说不知看了多少遍 其实这些东西应该在来的一个月这样子 ...

  7. linux cmake 安装mysql5.5.11,以及更高版本

    1.下载mysql5.5.12和cmake wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.12-linux2.6-i686.tar.gz ...

  8. tornado解析http body的过程分析

    tornado解析http body的过程分析 在最近写的一个RESTful API Server过程中,发现tornaod对解析POST BODY的内容有限制. 而在以前用web.py则没有这个限制 ...

  9. 【面试题030】最小的k个数

    [面试题030]最小的k个数 题目:     输入n个整数,找出其中最小的k个数.     例如输入4.5.1.6.2.7.3.8这8个字,则其中最小的4个数字是1.2.3.4.     思路一:   ...

  10. NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.

    解决办法: http://stackoverflow.com/questions/4037125/namespace-err-an-attempt-is-made-to-create-or-chang ...