背景:

上一篇写到利用jtds连接数据库获取对应的数据,本篇写怎样用poi将数据到处到excel中,此程序为Application

正文:

第三方poi jar包:poi驱动包下载
代码片段:
/*** 将数据导出到excel中* @param data 将要被导入到excel中的数据* @throws IOException*/public void crateTempFile(ArrayList<LinkedHashMap<String, String>> data) throws IOException {//建立一个excel工作簿HSSFWorkbook wb = new HSSFWorkbook();//建立一个sheetHSSFSheet sheet = wb.createSheet("test");//建立一个单元格样式HSSFCellStyle commonTitileStyle = wb.createCellStyle();//建立一个字体样式HSSFFont font=wb.createFont();//设置字体颜色font.setColor(HSSFColor.RED.index);//HSSFColor.VIOLET.index //字体颜色//设置字体的大小font.setFontHeightInPoints((short)12);//字体增粗font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//将字体样式放入单元格样式中commonTitileStyle.setFont(font);//建立一行HSSFRow titleRow = sheet.createRow(0);Map<String, String> titleMap = data.get(0);Set<String> keySet = titleMap.keySet();Iterator<String> it = keySet.iterator();//sheet中行索引值int indexOfRow = 0;//建立第一行第一个单元格HSSFCell titileCell = titleRow.createCell(indexOfRow);String titilKey = "測试測试(6072)";//设置单元格宽度sheet.setColumnWidth(indexOfRow, 20 * 256);//给单元格赋值titileCell.setCellValue(titilKey);//设置单元格样式titileCell.setCellStyle(commonTitileStyle);indexOfRow = 1;//设置sheet第二行HSSFRow dataRow = sheet.createRow(indexOfRow);while (it.hasNext()) {//遍历建立第二行单元格格式HSSFCell cell1 = dataRow.createCell(indexOfRow-1);String key1 = it.next();//将数据库表中的字段名改为改动成excel中的须要的标题名称key1 = dbColumnNameToExcelColumnName(key1);sheet.setColumnWidth(indexOfRow, 20 * 256);cell1.setCellValue(key1);indexOfRow++;}//设置第三行indexOfRow = 2;for (Map<String, String> temp : data) {HSSFRow titleRow1 = sheet.createRow(indexOfRow);Set<String> set = temp.keySet();Iterator<String> it1 = set.iterator();int indexOfColumn = 0;while (it1.hasNext()) {String key = it1.next();if (key.equals("anchor_name") || key.equals("send_gift_user_name") || key.equals("add_date")) {String value = temp.get(key);if (key.equals("add_date")) {Date d = new Date(Long.valueOf(value));SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");value = sdf.format(d);}HSSFCell cell = titleRow1.createCell(indexOfColumn);cell.setCellValue(value);} else {long value = Long.valueOf(temp.get(key));HSSFCell cell = titleRow1.createCell(indexOfColumn);cell.setCellValue(value);}indexOfColumn++;}indexOfRow++;}FileOutputStream fos = new FileOutputStream(new File("D://test//" + new Random().nextInt(100) + ".xls"));wb.write(fos);fos.close();}
效果:
在D:\test中建立一个excel文件,当中的样式为:

体会:

主要利用poi将数据导出excel。详细步骤是:
1.先建立一个excel工作簿,在建立一个sheet,
2.在建立的sheet中设置每一行每个列的值。
详细的样式问题,能够查看poi提供的API文档

转载于:https://www.cnblogs.com/mengfanrong/p/4375521.html

java利用poi导出数据到excel相关推荐

  1. Java使用poi导出数据到excel(包括xls和xlsx两种格式)并通过浏览器下载

    情景:将数据导出到excel是java开发常用的功能,数据量不大的时候,xls和xlsx两种格式的文件都行,但是数据量太大的时候就有区别了,xls格式的文件一个sheet页最多只能存六万多条数据,而x ...

  2. java利用poi导出excel功能-附带图片导出

    java利用poi导出excel功能-附带图片导出 写在前面 最近刚离职,闲来无事,于是把上两家公司都有碰到过的需求但都没有去研究实现:即导出带图片的excel报表.于是就折腾了一下这个功能,研究出来 ...

  3. 使用POI导出数据到excel代码

    使用POI导出数据到excel代码 POM文件 <!-- 导出excel --> <dependency><groupId>org.apache.poi</g ...

  4. 前端利用JS导出数据到Excel表 数字是文本类型 无法计算

    问题描述:前端利用JS导出数据到Excel表 数字是文本类型 无法进行公式计算:前端利用JS导出数据到Excel表 数字是文本类型 无法计算 解决办法:参考https://bbs.csdn.net/t ...

  5. java使用POI导出图片到Excel

    个人学习记录 目录 个人学习记录 1. 使用POI导出图片到Excel中,Excel格式为xls 2. 使用POI导出图片到Excel中,Excel格式为xlsx,图片设置边距 3. 获取图片,生成B ...

  6. java poi 数据透视,java 利用poi导出默认以表格展示的excel透视表

    前言: 从前,我是一个前端程序猿,怀着对打通任(前)督(后)二(开)脉(发)的梦想转了后端,自学两礼拜java+spring全家桶,直接上项目实战.最近接到一需求:将业务数据导出一张透视表. 需求开发 ...

  7. 利用poi进行数据的excel导出

    2019独角兽企业重金招聘Python工程师标准>>> 添加maven依赖: <!-- poi --> <dependency><groupId> ...

  8. POI导出数据至Excel,cpu飙升 cpu占用很高,原因排查

    零 干货满满 1测试环境开启GC日志 -Xloggc:gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+HeapDumpBeforeFull ...

  9. Java实现Oracle导出数据到Excel

    1.导入相应的jar包(jxl.jar 和 数据库连接的jar包) 2.写数据库连接的工具类 import java.sql.Connection; import java.sql.DriverMan ...

  10. java调用npoi_NPOI导出数据到Excel

    前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Offi ...

最新文章

  1. 用css来设置table的border
  2. 【十大经典数据挖掘算法】Naïve Bayes
  3. MyBatisPlus3.x中使用代码生成器(全注释)
  4. 开学综合症有救了!17篇最新AI论文不容错过
  5. XAMPP 无法启动解决
  6. 山寨“饿了么”应用中添加菜品数量按钮效果
  7. c++11并发指南系列
  8. 共同探索企业级数据库架构之道路
  9. lucene的Query类型
  10. 机器学习方向企业面试题(一)
  11. check whether edge in face indices.
  12. webuploader
  13. mysql 存储微信表情
  14. (long)123是c语言常量吗,C语言常量与变量
  15. 如何用手机连接无线网络
  16. 一篇博客收能收录计算机网络?
  17. Python--快递收费小程序
  18. MCU芯片设计和软件开发
  19. Vue+Echarts地图消失(高度变成0)的完美解决方案
  20. 使用SecureCRT时,PageDown键无法使用

热门文章

  1. dt dl dd 的英文含义
  2. 分布式系统设计时,遵循CAP原则
  3. java父类和mysql主表关系_Java工程师考试题 | 学步园
  4. python linux开发_python之Linux开发环境安装
  5. python中用来占位的语句是_MySQL / Python-gt;语句中占位符的语法错误?
  6. 【渝粤教育】国家开放大学2018年秋季 1174t水工钢筋混凝土结构(本) 参考试题
  7. 【渝粤教育】电大中专学前儿童科学教育 (2)作业 题库
  8. leetcode 703. 数据流中的第K大元素(Kth Largest Element in a Stream)
  9. 搞了很久终于突破了一点瓶颈,fighting!!!!!!!!!!!!!!!!
  10. CLR via C# ver4.0 读书笔记