文档详情

JAVA用POI从Excel读取数据进行相关统计,JFreeChart绘制图表.docx

发布:2017-05-20约1.22万字共17页下载文档
文本预览下载声明
 HYPERLINK /indigopurple/article/detailsJAVA用POI从Excel读取数据进行相关统计,JFreeChart绘制图表 代码大概三百行吧,不多。本来连接 HYPERLINK /base/mysql \o MySQL知识库 \t _blank 数据库做是个不错的选择,但是我刚刷了系统木有了又懒得装,从txt输入又感觉太low,最后就作死选择了以前从未尝试过的从Excel输入,并碰到了各种问题_(:зゝ∠)_比如Cannot get a String?value from a numeric cell的异常错误,卡了我好久,直到无语地发现POI操作Excel时会无视Excel里的单元格设置,自判数据类型,所以还要使用setCellType.(*゜ー゜*) 实现步骤 (1)我用javax.swing.JFileChooser类来显示文件对话框,让用户选择一个Excel文件。 (2)使用Apache POI API从Excel文件中读取数据,对Employee类进行批量初始化。 (3)实现公司员工收入的相关统计,这里我实现了人数统计、最大/最小工龄查找、最大/最小工资查找、男女比例、平均工资、平均年龄、平均工龄等。 (4)建立Dataset。将你所想要显示的数据都放到这个库中。 (5)建立JFreeChart对象。将你的dataset填入到这个对象中。 (6)处理Chart中文显示问题 (7)设置各种JFreeChart的属性和效果。通过它提供的各种方法和接口设置相关的属性。 (8)用JFreeChart绘制图表,然后按照个人的需求进行执行。 (9)写界面,以swing形式输出。 测试截图 (1)生成消息对话框,要求用户选择一个Excel文件,单击“确定” (2)生成文件选择器,我打开了存放在D盘BUAA文件夹里的Employee.xls 补充说明:这是文件Employee.xls的内容 ? (3)进行相关统计,并通过消息对话框显示统计结果 ? (4)询问用户是否生成统计图,如果点“取消”或“否”,运行完毕;如果点是,系统将生成统计图,以员工为横轴,以年龄、工龄、工资三项数值为纵轴。 图表的显示效果会根据窗口大小自适应,改变横纵轴的比例尺。 下面是窗口最大化的效果 ? 程序清单  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L1  1  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L2  2  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L3  3  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L4  4  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L5  5  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L6  6  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L7  7  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L8  8  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L9  9  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L10  10  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L11  11  HYPERLINK /indigopurple/article/detailslocationNum=3fps=1 \l L12  12  HYPERLINK
显示全部
相似文档