java利用poi导出数据到excel
背景:
上一篇写到利用jtds连接数据库获取对应的数据,本篇写怎样用poi将数据到处到excel中,此程序为Application
正文:
/**
* 将数据导出到excel中
* @param data 将要被导入到excel中的数据
* @throws IOException
*/
public void crateTempFile(ArrayList<LinkedHashMap<String, String>> data) throws IOException {
//建立一个excel工作簿
HSSFWorkbook wb = new HSSFWorkbook();
//建立一个sheet
HSSFSheet 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();
}
体会:
java利用poi导出数据到excel的更多相关文章
- 使用poi导出数据到excel
		
一.首先是导入poi所需要的jar包,我是用的是maven,添加jar包依赖 <dependency> <groupId>org.apache.poi</groupId& ...
 - spring boot 使用POI导出数据到Excel表格
		
在spring boot 的项目经常碰到将数据导出到Excel表格的需求,而POI技术则对于java操作Excel表格提供了API,POI中对于多种类型的文档都提供了操作的接口,但是其对于Excel表 ...
 - springboot2.1.8使用poi导出数据生成excel(.xlsx)文件
		
前言:在实际开发中经常需要将数据库的数据导出成excel文件,poi方式则是其中一种较为常用的导出框架.简单读取excel文件在之前的一篇有说明 本项目实现需求:user发出一个导出student信息 ...
 - 利用OLEDB导出数据到Excel
		
原帖地址:http://blog.csdn.net/cpp2017/archive/2008/04/02/2245396.aspx 利用OELDB数据访问对象操作Excel文件,达到将数据导出到Exc ...
 - JXL 读取 Excel java中jxl导出数据到excel的例子 上传文件
		
2010-10-14 19:17:06 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 信息: Entferne Dat ...
 - Java利用POI导入导出Excel中的数据
		
首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...
 - java操作Excel之POI(4)利用POI实现数据的批量导出
		
后台导出方法: /** * 后台导出方法 * 利用POI实现数据的批量导出 */ public String export() throws Exception{ Connection con = n ...
 - Java使用POI实现数据导出excel报表
		
Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...
 - Java导出数据为EXCEL的两种方式JXL和POI
		
JXL和POI导出数据方式的比较 POI支持excel2003和2007,而jxl只支持excel2003. 下面为测试代码: public class TestCondition { /** * 生 ...
 
随机推荐
- [DEEP LEARNING An MIT Press book in preparation]Linear algebra
			
线性代数是数学的一个重要分支,它经常被施加到project问题,要了解学习和工作深入研究的深度,因此,对于线性代数的深刻理解是非常重要的.下面是我总结的距离DL book性代数中抽取出来的比較有意思的 ...
 - SQL于union, EXCEPT 和 INTERSECT用法
			
这三个放在一起是有道理的,因为它们运行两个或两个以上的结果集,而这些结果对例如设置以下限制: 列的数目和所有查询必须是相同的列顺序. 数据类型必须兼容. 而且它们都是处理于多个结果集中有反复数据的 ...
 - mvc验证jquery.unobtrusive-ajax
			
Unobtrusive Ajax Ajax (Asynchronous JavaScript and XML 的缩写),如我们所见,这个概念的重点已经不再是XML部分,而是 Asynchronous ...
 - mysql数据库的安装以及常见优化设置
			
原文请详见:http://www.ucai.cn/blogdetail/7036?mid=1&f=5 能够在线执行查看效果哦! 本文依据优才网课程整理,面向web开发人员,内容以有用为主,专业 ...
 - 【MySQL案件】ERROR 1418
			
1.1.1. ERROR 1418 [环境的叙述性说明] mysql5.0.67 [问题叙述性说明] 当它来到创建存储过程ERROR 1418一个错误. # 创建函数SQL声明 CREATE FUNC ...
 - ocp认证考试指南第一章
			
数据库存储结构: 物理数据库存储结构: 必须的三类文件: 控制文件(controlFile):multiplexing the controfile 多路复用控制文件,指向其它关键文件,存储序列号和时 ...
 - rm-rf 恢复过程中滥用
			
多DBA一定rm -rf讨厌它,也许有一天自己将数据库,以消除一个中午,然后.那么就没有一个--这种情况下,--这个不幸真的发生,你真的无药可救?不必要,有解决方法.也许你遇到不幸时,有一天.你可以用 ...
 - Python 提取Twitter转发推文的元素(比方username)
			
CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-24 @author: guaguastd @name: e ...
 - Razor和HtmlHelper的使用意义
			
Razor和HtmlHelper的使用意义 写这篇文档的目的是为了给初学MVC的同伴们介绍在MVC的View中的两个新概念,能有利于我们更快,更好的开发项目.一个是视图引擎,一个是HtmlHlper. ...
 - Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)
			
著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 ...