先说下背景吧:

公司为电子商务网站,所以商务部门经常会进行数据分析,而我们这边主要是做开发,也没有专门负责数据的分析的人员,所以经常我会兼职担当报表输出人员,时间一长,商务部门领导也闲麻烦,希望有自动发报表的功能,其实装个BI系统什么的也挺快的,或者有ERP系统也行,但是领导要求越快越好,原来是想用一些开源的报表系统实现,如SpagoBI、Reportico等等。不过上手太慢,同时开发起来也麻烦,最后我就想用最简单的方式实现吧,也就是所谓的小米加步枪嘞。

软件说明:

a. 闲置的公司机器一台,centos 6.5 系统。通过ssh隧道,直接在本地机器上连接到远程数据库上:

/usr/bin/autossh -M 0 -f -NCPf -i /usr/bin/auth_key root@remote -p22 -L 3399:remote:3306

上面remote为远程机器、auth_key为认证key,具体的可以百度一下ssh映射端口。

通过这样的方式我就可以直接连接到远程的数据库上面咯。

b. thinkphp框架

因为一直用习惯了它,所以就用它来做一些业务处理。

c. 其它PHP框架,暂时用到了 pChart2.1.3 及 PHPExcel

http://www.pchart.net/

http://phpexcel.codeplex.com/

d. wkhtmltopdf,将html转换成pdf,解决了中文乱码问题。之前之所以不用开源的原因就是中文乱码处理起来麻烦。而没选择php之类转pdf的功能原因是因为速度太慢太慢了。然后就用它了。

http://code.google.com/p/wkhtmltopdf/

e. 一些shell脚本及centos的crontab

基本上用以上的工具就搞定了。

处理流程:

第一步. 针对pdf报表,我会直接生成HTML页面,然后使用wkhtmltopdf转换成pdf。而对excel表格,我直接用linux下curl命令,使用php生成文件。

第二步. 通过crontab发送各个报表

不足之处:

需要手工配置,涉及内容较多,维护较麻烦。

方便之处:

因为是用php实现,修改起来简单,尤其是pdf是基于html转换来的,所以修改起来也很简单,比使用iReport做模板方便,美观。

当然这种方案只是应对突发情况而不得不为之的。不过运行了一个月了,还比较良好,对一些新的报表要求,也能很快完工。所以对创业公司,或者小规模的电子商务公司,这种使用免费的工具搭建报表,也是一种可取之法。如有朋友有兴趣,可基于此进行深入整合,使用如java来做一些定时处理等等,功能将会更加完善。

创建PDF的shell脚本:

#!/bin/bashpdf_name=PDF_$(date -d"1 day ago" +'%d_%m_%Y')".pdf"
pdf_path=/data/home/website2/htdocs/bi/pdfs/
pdf_log=$pdf_path"create_"$(date +%Y%m).log
pdf_src="http://192.168.1.6/bi/index.php?m=Index&a=bi"######### Start ###########
if [ -f $pdf_path$pdf_name ]
thenrm -rf $pdf_path$pdf_nameecho "######### REMOVE PDF --> "$pdf_name" : "$(date +'%Y-%m-%d %H:%M:%S') >> $pdf_log
fi/usr/bin/wkhtmltopdf $pdf_src $pdf_path$pdf_name
echo "######### Create PDF --> "$pdf_name" : "$(date +'%Y-%m-%d %H:%M:%S') >> $pdf_log
######### End ###########

创建Excel的shell脚本:

#!/bin/bashexcel_path=/data/home/website2/htdocs/bi/excel/reports/
excel_log=$excel_path"create_"$(date +%Y%m).log
excel_src_1="http://192.168.1.6/bi/excel/excel01.php"
excel_src_2="http://192.168.1.6/bi/excel/excel02.php"######### Start ###########
curl $excel_src_1 >> $excel_log
sleep 2s
curl $excel_src_2 >> $excel_log
######### End ###########

一种简单的小型企业报表实现方式相关推荐

  1. 一种简单快捷的 java 热部署方式

    作者 | 周忠太 阿里巴巴淘系技术部的一个搬砖工 [Arthas 官方社区正在举行征文活动,参加即有奖品拿~点击投稿] Arthas Hot Swap 插件介绍 引言 热部署是帮助开发人员提高效率的利 ...

  2. java 热布署 开源_一种简单快捷的 java 热部署方式

    作者 | 周忠太 阿里巴巴淘系技术部的一个搬砖工 [Arthas 官方社区正在举行征文活动,参加即有奖品拿~点击投稿] Arthas Hot Swap 插件介绍 引言 热部署是帮助开发人员提高效率的利 ...

  3. 现在有哪些好用的企业报表软件?

    简单来讲,企业报表就是"用表格.图表等格式来动态显示数据",各行各业.每年每月,都需要通过报表来展示组织和人员在经营管理上的真实情况. 当前大家常用的实现企业报表的方式包含代码开发 ...

  4. 小型企业、初创企业海外众筹指南

    众筹平台正在改变初创企业和小型企业筹集资金的方式. 曾经,投资者和他们手里的资本充当了企业业务增长的重要角色,而如今,众筹平台为有抱负的创业者与企业家提供了另一融资渠道. 1.如何开始众筹?众筹平台有 ...

  5. 小型企业5种实惠的品牌建立策略

    icu 促销又来啦 10月31日之前来DNSPod注册 新注首年仅需5元 除了医学用词,如何赋予.icu更多的含义?中小企业如何利用.icu树立自己的品牌形象?仔细阅读文章,寻找答案. 为什么要为中小 ...

  6. 开源发票识别_自由职业者和小型企业的前4种开源发票工具

    开源发票识别 小企业主和自由职业者在他们的企业中投入了大量工作. 他们之所以这样做,不仅是因为他们对自己的工作充满热情,而且他们的目标是获得报酬. 这也不是一件小事. 获得付款通常意味着向客户发送发票 ...

  7. 开源发票识别_适用于小型企业的4种开源发票工具

    开源发票识别 无论您创办小企业的原因是什么,保持该企业正常运转的关键都是获得报酬. 获得付款通常意味着向客户发送发票. 那里有各种各样的商业和闭源发票工具. 但是,与开放源代码同类产品相比,开放源代码 ...

  8. 企业降低包装成本的13种简单方法(下篇)

    在我们的上一篇文章:电商降低包装成本的13种简单方法(上篇)中,我们分享了7种降低包装成本的方法,本篇是降低包装成本的13种方法系列的下篇,希望能够帮到大家降本增效. 8 - 减少使用填充物 空隙填充 ...

  9. 如何通过 5 个简单步骤实现小型企业的数字化转型

    疫情常态化的环境下,远程工作场景为数字化转型提供了最有力的案例.我们意识到,对于小型企业来说,当您为新常态做准备时,进行全面而广泛的数字化改革可能并不可行.相反,请考虑采取渐进的步骤.采用即用型.基于 ...

最新文章

  1. TimerHandler的简单应用
  2. Binary Tree Preorder Traversal
  3. PHP:第一章——PHP中的关键字
  4. 【解析】人人网:我的青春小鸟一样不回来
  5. ios view 切上部分圆角_ios – 具有圆角的UIView:如何正确剪辑子视图?
  6. 碉堡!Mysql8.0竟然可以直接操作json文档了。。。
  7. WINCE 网卡控制
  8. HttpClient通过Post上传文件(转)
  9. matlab的try函数,matlab – 是否可以在没有try块的情况下测试函数句柄?
  10. 08-05 性能测试--定时器场景
  11. 20155303 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
  12. paip.AJAX回调函数不起作用的解决
  13. matlab怎么将程序加密,对于MATLAB M文件怎么加密
  14. 新浪博客服务器是不是在维护,新浪博客是不是又在升级了?
  15. Java web前端——HTML常用标签
  16. 什么是互联网产品运营
  17. iPhone15将开放15W无线快充!
  18. springboot项目如何查看MP运行日志
  19. Synchonized原理
  20. 宝妈每天一小时,在家用手机做情感励志短视频,收益稳定200多

热门文章

  1. 笔记本电脑触屏鼠标突然失灵怎么办?
  2. 报错:跨域问题解决 No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.
  3. 交叉编译lrzsz(用于串口传输文件)
  4. 生存分析绘图——Kaplan-Meier生存曲线
  5. 分享:从编程中悟出的八字箴言
  6. WordPress丸子小程序从零到一搭建小程序[小程序配置]
  7. 排队论,对策论,层次分析法
  8. 我的Security+601备考经验分享
  9. win10安装Offic2016以后,Word文件、Excel文件、PPT文件图标显示不正常解决方法
  10. FPGA学习-Verilog例化说明