操作Office文档,要用到apache公司的一个工具包: poi-3.7-20101029.jar

poi插件的使用方式类似dom技术

不同版本:

接下来进行演示功能:

1.用纯Java技术实现创建一个名为a.xls的文件(工作薄),

在其中新建一个"表1"的sheet,往B9单元格填入"湖南aa"

@Testpublic void mkXls() throws IOException{HSSFWorkbook book=new HSSFWorkbook();HSSFSheet sheet=book.createSheet("表1");HSSFRow row = sheet.createRow(8); //第9行HSSFCell cell = row.createCell(1);cell.setCellValue("湖南aa");//序列化book.write( new FileOutputStream("d:/a/a.xls") );}

2.功能: 把MySQL中的所有数据库全部导出形excel格式的文件, 为简化知识点,这里只导出一个数据库abcd

@Testpublic void exportDemo() throws Exception{export("abcd");}public void export(String dbName) throws Exception {HSSFWorkbook book = new HSSFWorkbook();Connection conn = Conn4Utils.getConn();Statement st = conn.createStatement();DatabaseMetaData dm=conn.getMetaData();ResultSet  rs=dm.getTables(dbName, dbName, null, new String[]{"TABLE"});/*反模式: 我们以后开发时尽量不要采用结果集嵌套的方式写代码,尤其是带事务时,这很容易出问题的while(rs.next()){String tableName = rs.getString("TABLE_NAME"); //表格名String sql = "select * from "+dbName+"."+tableName; //跨库查询ResultSet rss = st.executeQuery(sql);while(rss.next()){//.....}}*/List<String> tableNameS=new ArrayList<String>();while(rs.next()){String tableName=rs.getString("TABLE_NAME");tableNameS.add(tableName);}//处理数据库中的每一个表格for(String tableName:tableNameS){HSSFSheet sheet=book.createSheet(tableName);String sql="select * from "+dbName+"."+tableName;ResultSet rss=st.executeQuery(sql);ResultSetMetaData rsmd=rss.getMetaData();//先获取字段数int cols=rsmd.getColumnCount();//导出表头HSSFRow row=sheet.createRow(0);for(int i=0;i<cols;i++){HSSFCell cell=row.createCell(i);cell.setCellValue(rsmd.getColumnName(i+1));  }//导出数据int idx =1;while(rss.next()){row=sheet.createRow(idx++);for(int i=0;i<cols;i++){HSSFCell cell=row.createCell(i);cell.setCellValue(rss.getString(i+1));}}}//把工作簿对象book序列化book.write(new FileOutputStream("d:/a/"+dbName+".xls"));}

玩转大数据之——通过java操作office/wps的 EXCEL相关推荐

  1. 大数据时代之java操作hdsf

    前面已经讲过hadoop伪分布式和分布式环境搭建,参考大数据时代之Hadoop集群搭建 本来想直接搞java代码操作hdfs的,想了想还是先简单的复习下命令行操作hdfs吧.其实hdfs操作起来是操作 ...

  2. Cris 玩转大数据系列之日志收集神器 Flume

    Cris 玩转大数据系列之日志收集神器 Flume Author:Cris 文章目录 Cris 玩转大数据系列之日志收集神器 Flume Author:Cris 1. Flume 概述 1.1 什么是 ...

  3. Cris 玩转大数据系列之消息队列神器 Kafka

    Cris 玩转大数据系列之消息队列神器 Kafka Author:Cris 文章目录 Cris 玩转大数据系列之消息队列神器 Kafka Author:Cris 1. Kafka 概述 1.1 消息队 ...

  4. Cris 玩转大数据系列之任务流神器 Azkaban

    Cris 玩转大数据系列之任务流神器 Azkaban Author:Cris 文章目录 Cris 玩转大数据系列之任务流神器 Azkaban Author:Cris 1. 概述 1.1 为什么需要工作 ...

  5. 独家直播双十一全网动态?前黑客“劳改”带你玩转大数据

    独家直播双十一全网动态?前黑客"劳改"带你玩转大数据 发表于2015-11-24 10:26| 4044次阅读| 来源CSDN| 7 条评论| 作者蒲婧 CTO俱乐部CTOCTO讲 ...

  6. 多层数组如何遍历_带你从零学大数据系列之Java篇---第五章:数组

    温馨提示:如果想学扎实,一定要从头开始看凯哥的一系列文章(凯哥带你从零学大数据系列),千万不要从中间的某个部分开始看,知识前后是有很大关联,否则学习效果会打折扣. 系列文章第一篇是拥抱大数据:凯哥带你 ...

  7. 玩转大数据系列之三:数据报表与展示

    为什么80%的码农都做不了架构师?>>>    经过了数据采集与数据同步.数据分析和处理,我们应该考虑将处理好的数据做成报表或者大屏展示给老板们看,以便老板们可以更加精准地做出战略决 ...

  8. 53.大数据之旅——java分布式项目14-信息检索技术之Lucene,Solr

    信息检索技术 概念介绍 全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法.全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统. 全文检索主要对非结构化数据的数据检索. ...

  9. 看小企业如何玩转大数据? 智慧商贸添助力

    7月22日消息,美国有句谚语"除了上帝,任何人都必须用数据说话",从目前来看,我们正处于一个大数据无限发展的时代,就连最热门的巴西世界杯冠军--德国,据传也是利用一款大数据分析&q ...

最新文章

  1. baidumaptrace.php,鹰眼Web API v2.0 | 百度地图API SDK
  2. 某程序员误把7500枚比特币当垃圾扔掉,价值约2.4亿美元!
  3. Notepad++写Verilog HDL代码时,在注释语句下出现红色波浪线怎么办?
  4. vim 多窗口,多tab编辑
  5. what to improve on my case study?
  6. boost::geometry::model::multi_polygon用法的测试程序
  7. mysql5.7.14多实例安装
  8. 3 src 获取_CVE-2019-15846:Exim远程获取root权限漏洞分析
  9. 键盘keydown值表
  10. 【Spring】Spring的生态项目
  11. AQS及其组件的核心原理
  12. linux 命令详解 二十四
  13. matlab无法打开.m文件查看
  14. NOI题库--砝码称重V2(多重背包2^n拆分)
  15. 演过电影的无人驾驶卡车是如何炼成的?
  16. 进销存软件排行榜前十名!
  17. 删除win10易升更新的办法
  18. Excel+VBA 区域数据的去重
  19. Kruskal vs Borůvka
  20. 计算机英语中bar是什么意思啊,bar是什么意思

热门文章

  1. 如何恢复无法修复的Visual Studio 的破损文件
  2. 实战分析SpringBoot整合JSON,含爱奇艺,小米,腾讯,阿里
  3. 2018服务器 芯片组,再见了14nm 2018主板/CPU行业回顾展望
  4. 这个细到把头发丝都抠出来的算法,效果太赞了
  5. ZBrush教程_次时代作品“行尸矿工”制作教程
  6. 小米虚拟键透明方法_小米9新增小爱同学独立AI按键:支持自定义
  7. 计算机系学生买轻薄本还是游戏本,2021大学生买电脑,容易犯的七种错误!游戏本和轻薄本买哪个?...
  8. bilibili正式进军造车领域!投资吉利极氪
  9. tkinter成语语音检索器一
  10. 奥运期间的搞笑采访(转载)