我的编程空间,编程开发者的网络收藏夹
学习永远不晚

要!不要报表工具???

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

要!不要报表工具???

要,要,切克闹,报表工具来一套!!!

要问什么是报表工具?那我们先得掰扯掰扯什么是报表。查一下某某百科……简单的说,报表就是用表格、图表等格式来动态显示数据。可以用公式表示为:“报表 = 多样的格式 + 动态的数据”。而报表工具呢?用废话说,就是帮助用户做报表的工具……不那么废的话,还是某某百科:报表工具就是帮助用户用来展现自己输入数据,更多时候是将数据库中的数据,以客户想要的方式即报表的形式展现出来。

报表的必要性,应该是不用讨论了,无论在政府监管、企业运营还是一般的组织管理模式中,上级的监督考核、下级的汇报请示、平级的协同交流,都需要定时或不定时地传递一些报表,然后以这些报表为基础进行分析统计。对应到信息化工程的软件开发项目中,报表功能也就是必不可少的了。而今天,我们要讨论的,是要不要报表工具的问题,也就是用报表工具还是写代码来实现报表,这才是个问题。

对于万能的程序员来说,没有什么问题是一百行代码解决不了的,如果有,那就再来一百行……只不过,面对翻脸比翻书还快的需求、对外观样式的吹毛求疵、越来越复杂的报表格式和内在数据关系、越来越多需要维护的报表数量,尤其还不得不去修改隔壁的隔壁的隔壁老王写的千百万行代码时, 估计千言万语都会化成一句:专业的事还是让专业的人去干吧。没错,报表工具就是专业的,而且可以专业到让业务人员实现做报表,甚至构建快速系统。

让我们先从一个简单例子开始,下面是一个罗列所有学生信息的报表:

要!不要报表工具???

很简单是不是?让我们这些程序员撸起袖子马上干,就从熟悉的 java 开始吧……

首先是通过数据源,连接数据库提取数据。

       public static void main(String\[\] args) throws IOException, ParseException { _showTable_("org.hsqldb.jdbcDriver", "jdbc:hsqldb:hsql://127.0.0.1/demo", "sa", "", "student"); } public  static  DefaultTableModel getTableModel(String driver, String url, String user, String pwd, String tableName) { String sql = String._format_("select * from %s", tableName);String\[\] colNames = null;Object\[\]\[\] tabValues = **null**; try { Class._forName_(driver).newInstance(); Connection conn = DriverManager._getConnection_(url, user, pwd); Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData();   if  (rsmd != null && rsmd != null) { } valList.add(row); }tabValues =   new  Object\[valList.size()\]\[\]; valList.toArray(tabValues); } }  catch  (Exception e) { throw  new RuntimeException(e.getMessage(), e); } return  new DefaultTableModel(tabValues, colNames); }String styleName = name; if( isSub ) { int subPos = styleName.indexOf( "\_sub\_" );  if ( subPos > 0 ) styleName = styleName.substring( 0, subPos ); }HashSet class="lazy" data-srcs = new HashSet(); int rr = report.getRowCount(); int cc = report.getColCount(); for( int row = 1; row <= rr; row++ ) { for( short col = 1; col <= cc; col++ ) { }append( sb, "<td>\\n" );append( sb, "<div id=\\"" \+ name + "_topdiv\\" style=\\"overflow:hidden\\">\\n" );generateHtml( "_$_top", topStartRow, topEndRow, contentStartCol, contentEndCol, sb );append( sb, "</div>\\n" );append( sb, "</td>\\n" );append( sb, "</tr>\\n" ); }append( sb, "<tr>\\n" ); if ( leftHeader != null ) { append( sb, "<td valign=top>\\n" );append( sb, "<div id=\\"" \+ name + "_leftdiv\\" style=\\"overflow:hidden\\">\\n" );generateHtml( "_$_left", contentStartRow, contentEndRow, leftHeader.getBeginCol(), leftHeader.getEndCol(),  sb );append( sb, "</div>\\n" );append( sb, "</td>\\n" ); }append( sb, "<td>\\n" );append( sb, "<div id=\\"" \+ name + "\_contentdiv\\" style=\\"overflow:auto\\" onscroll=\\"\_reportScroll( '" \+ name + "' )\\">\\n" );generateHtml( "", contentStartRow, contentEndRow, contentStartCol, contentEndCol, sb );append( sb, "</div>\\n" );append( sb, "</td>\\n" );append( sb, "</tr>\\n" );append( sb, "</table>\\n" );append( sb, "</div>\\n" );append( sb, "<script type=\\"text/javascript\\" language=javascript>\\n" );

 

还好,还好,这种横平竖直的表格样式处理起来还不算太难,不过,事情就这么完了吗?你想的太简单了。

接下来,教务处要求学生按照班级进行分组,校运会办公室要求把男女生分别用颜色标识出来,而医务处做健康调查需要知道各个班级的平均年龄,也就是需要下面三种不同的报表:

要!不要报表工具???

要!不要报表工具???

要!不要报表工具???

怎么样,想好了用代码怎么实现么?没错,我们需要在提取原始数据时考虑用数据库的分组以及平均值,或者在取出数据后自己进行排序分组和求平均,然后按照需求算好表格的合并关系,设置不同的判断条件……标红应该还好,只需要在输出每行表格的时候判断一下性别字段,然后设置背景色……

现在还能应付?好吧,喘一口气,看看我们并不陌生的“大招”:

这样的对学校工作人员及老师分类汇总的统计表:

要!不要报表工具???

这样的分类分组汇总统计表:

要!不要报表工具???

这样的学生参加奥数竞赛的申请表……好吧,我也不知道应该算什么的“中国式”复杂报表

要!不要报表工具???

好了,现在回头看看,那张简单报表的单纯的样子,是不是有一种“诱骗”我们迈入陷阱的味道?而如果当初我们选择了合适的报表工具,事情就会变成这样:

要!不要报表工具???

简单的清单报表:

要!不要报表工具???

简单添加一个分组函数后的分组报表:

标红特殊行,选中行在表达式中写入背景色表达式即可:

要!不要报表工具???

简单添加平均函数后分组报表:

要!不要报表工具???

以及不知道算不算复杂式的报表:

要!不要报表工具???

可以看到,报表工具在实现这些需求的时候,最主要的特点就是两个字:直观!不仅数据的提取简单清晰,放置的位置所见即所得,内容的延展方向也都清楚明白。——谈钱不伤感情,正因为报表工具开发直观,所以从此可以不再需要年薪 N 万的专业程序员和 TA 那一片片代码了,这是分分钟又为公司省下了多少钱呀??!!

其实除了上面提到“大招”,还有很多程序员不愿面对或懒于面对的需求,比如各种统计图表、条形码、业务类的报表;比如导出 PDF、XLS、DOC 等各种常用文档格式;比如和机器纸张密切相关的自适应打印输出……

嗯,对了,报表中可能还要在线填写某些数据,填写界面还要足够友好…

天哪,这么多麻烦事儿,(领导 / 客户)你咋不上天呢??

幸运的是,如果你选择了报表工具,你真的就可以上天入地了……报表工具的优势除了开发高效外,另一个重要的亮点就是可以有效降低耦合性,就算报表需求频繁改变,没完没了,只要通过报表工具将报表模块独立出来,即便应用项目上线了也只需替换报表文件,不必重新打包部署、不必重启服务,完全可以实现不停机热切换,甚至可以由维护人员去做。

看看下面的结构图是不是好理解多了?

要!不要报表工具???

综上所述,要写代码还是要报表工具这个问题的答案还用想吗?万能的专业程序员应该用在更需要 TA 的地方,万万不能浪费在已经有了成熟解决方案的报表制作上面。一开始想的太简单,后面就会大大不简单,一开始确认对了眼神,就会找到对的人。
详情链接:http://c.raqsoft.com.cn/article/1540259495503?r=gxy

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

要!不要报表工具???

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

要!不要报表工具???

要,要,切克闹,报表工具来一套!!!要问什么是报表工具?那我们先得掰扯掰扯什么是报表。查一下某某百科……简单的说,报表就是用表格、图表等格式来动态显示数据。可以用公式表示为:“报表 = 多样的格式 + 动态的数据”。而报表工具呢?用废话说,
2023-06-02

网络工程师报名要不要专业对口

  不要。凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机技术应用能力的人员,均可根据本人情况,报名参加软考相应专业类别、级别的考试。  软考网络工程师报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考,考生可根据自己的技术水平选择软考合适的级别与资格进行报考。  根据《计
网络工程师报名要不要专业对口
2024-04-18

网络工程师报名要不要计算机专业

  不要。网络工程师报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考相应的级别,考生可根据自己的技术水平选择合适的级别与资格进行报考。  软考网络工程师报名对专业没有要求,不需要计算机专业也可以报考。根据《计算机技术与软件专业技术资格考试暂行规定》第八条相关规定:凡遵守中华人民共和国宪法
网络工程师报名要不要计算机专业
2024-04-18

2024年下半年软考报名要不要打印报名表格

2024年下半年软考报名是否需要打印报名表格,这个问题涉及到报名的具体要求和流程。在此,我们将详细解答这个问题,以帮助考生更好地完成报名手续。具体请见下文。
2024年下半年软考报名要不要打印报名表格
2024-08-17

信息安全工程师报名要不要专业对口

  不要。凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机技术应用能力的人员,均可根据本人情况,报名参加软考相应专业类别、级别的考试。  软考信息安全工程师报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考,考生可根据自己的技术水平选择软考合适的级别与资格进行报考。  根据
信息安全工程师报名要不要专业对口
2024-04-18

jenkins工具要什么作用

这篇文章主要讲解了“jenkins工具要什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jenkins工具要什么作用”吧!Jenkins是基于Java开发的一种持续集成工具,用于监控持
2023-07-04

数据库系统工程师报名要不要专业对口

  不要。凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机技术应用能力的人员,均可根据本人情况,报名参加软考相应专业类别、级别的考试。  软考数据库系统工程师报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考,考生可根据自己的技术水平选择软考合适的级别与资格进行报考。  根
数据库系统工程师报名要不要专业对口
2024-04-18

信息安全工程师报名要不要计算机专业

  不要。信息安全工程师报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考相应的级别,考生可根据自己的技术水平选择合适的级别与资格进行报考。  软考信息安全工程师报名对专业没有要求,不需要计算机专业也可以报考。根据《计算机技术与软件专业技术资格考试暂行规定》第八条相关规定:凡遵守中华人民共
信息安全工程师报名要不要计算机专业
2024-04-18

报考安全工程师要不要有安全生产业务工作经验

  需要。中级注册安全工程师报考有学历和工作年限要求,工作年限要求包括考生参加工作年限和从事安全生产业务工作年限两个部分,并且工作年限与考生学历和专业相关,学历越高工作年限要求越短。  中级安全工程师报考有学历和工作年限要求,工作年限要求跟学历高低而变化,学历越高工作年限越短,同时相同学历条件下,安全工程及相关专业考生
报考安全工程师要不要有安全生产业务工作经验
2024-04-18

信息系统管理工程师报名要不要专业对口

  不要。凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机技术应用能力的人员,均可根据本人情况,报名参加软考相应专业类别、级别的考试。  软考信息系统管理工程师报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考,考生可根据自己的技术水平选择软考合适的级别与资格进行报考。  
信息系统管理工程师报名要不要专业对口
2024-04-18

数据库系统工程师报名要不要计算机专业

  不要。数据库系统工程师报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考相应的级别,考生可根据自己的技术水平选择合适的级别与资格进行报考。  软考数据库系统工程师报名对专业没有要求,不需要计算机专业也可以报考。根据《计算机技术与软件专业技术资格考试暂行规定》第八条相关规定:凡遵守中华人
数据库系统工程师报名要不要计算机专业
2024-04-18

报表工具的分类

报表工具的分类[@more@]从目前的应用来看,报表工具主要从以下几个方面来分:(1)从技术路线来分:JAVA报表、非JAVA报表。随着B/S的应用越来越多,走JAVA路线的用户对纯JAVA报表工具的需求越来越大。非JAVA报表一是厂家出于
2023-06-03

大数据报表工具能不能代替 BI

本篇文章给大家分享的是有关大数据报表工具能不能代替 BI,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在一般项目中报表工具是能够代替 BI 的,目前用到 BI 的功能主要是用来
2023-06-03

信息系统管理工程师报名要不要计算机专业

  不要。信息系统管理工程师报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考相应的级别,考生可根据自己的技术水平选择合适的级别与资格进行报考。  软考信息系统管理工程师报名对专业没有要求,不需要计算机专业也可以报考。根据《计算机技术与软件专业技术资格考试暂行规定》第八条相关规定:凡遵守中
信息系统管理工程师报名要不要计算机专业
2024-04-18

软考报名要不要专业对口

  不要。凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机技术应用能力的人员,均可根据本人情况,报名参加软考相应专业类别、级别的考试。  软考报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考相应的级别,考生可根据自己的技术水平选择合适的级别与资格进行报考。  根据《计算机
软考报名要不要专业对口
2024-04-18

报名软考要不要什么学历

  软考报名对学历没有要求,凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机技术应用能力的人员,均可根据本人情况,报名参加软考相应专业类别、级别的考试。  软考报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考,考生可根据自己的技术水平选择软考合适的级别与资格进行报考。  
报名软考要不要什么学历
2024-04-18

软考报名要不要什么学历

  软考报名对学历没有要求,凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机技术应用能力的人员,均可根据本人情况,报名参加软考相应专业类别、级别的考试。  软考报名不设学历与资历条件、年龄以及专业等要求限制,只要达到相应的技术水平就可以报考,考生可根据自己的技术水平选择软考合适的级别与资格进行报考。  
软考报名要不要什么学历
2024-04-18

软考报名需要什么条件?软考报名要不要社保?

软考报名需要什么条件?软考报名要不要社保?针对这些问题,编程学习网小编整理了全国软考报名条件及社保要求汇总表,大家可根据各地要求提前做好报名准备。如与当地当次报名条件及社保要求有异议的,以当地当次通知的要求为准!
软考报名需要什么条件?软考报名要不要社保?
2024-08-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录