1,导包  poi-3.9-XXX.JAR

2, 创建一个实体对象

public class Student implements Serializable {

	/**
*
*/
private static final long serialVersionUID = 1L; private int id;
private String name;
private int age;
private Date borth; public Student(int id, String name, int age, Date borth){
this.id = id;
this.name = name;
this.age = age;
this.borth = borth;
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public Date getBorth() {
return borth;
} public void setBorth(Date borth) {
this.borth = borth;
} public static long getSerialversionuid() {
return serialVersionUID;
}

3,创建实体数据,也可以获取数据库的信息

public class StuData  {

	public static List<Map<String, Object>> getStuInfo() throws ParseException {
List<Map<String, Object>> listStuInfo = new ArrayList<Map<String, Object>>();
List<Student> listStu = new ArrayList<Student>();
DateFormat format = new SimpleDateFormat("yyyy-mm-dd"); Student s1 = new Student(1, "zhangsan", 16, format.parse("1987-05-06"));
Student s2 = new Student(2, "li", 17, format.parse("1988-05-06"));
Student s3 = new Student(3, "wangwu", 18, format.parse("1989-05-06"));
Student s4 = new Student(4, "zhaoliu", 19, format.parse("1990-05-06"));
listStu.add(s1);
listStu.add(s2);
listStu.add(s3);
listStu.add(s4);
for (Student stu : listStu) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", stu.getId());
map.put("name", stu.getName());
map.put("age", stu.getAge());
map.put("borth", stu.getBorth());
listStuInfo.add(map);
}
return listStuInfo;
} }

4, 创建表头,以及单元格的样式等

private static Map<String, Object> createHeaderInfo(Workbook wb, Sheet sheet, int headerNumber) {
Row row = sheet.createRow(headerNumber);
Map<String, Object> header = createHeader();
for(String str : header.keySet()) {
int rowNumber = (int) header.get(str);
Cell cell = row.createCell(rowNumber);
CellStyle cellstyle = wb.createCellStyle();
cellstyle.setAlignment(CellStyle.ALIGN_CENTER);
Font font = wb.createFont();
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
cellstyle.setFont(font);
cell.setCellStyle(cellstyle);
cell.setCellValue(str);
}
headerNumber++;
return header;
}

5,表头信息:

private static Map<String, Object> createHeader(){
Map<String, Object> header = new HashMap<String, Object>();
header.put("id", 0);
header.put("name", 1);
header.put("age", 2);
header.put("borth", 3);
return header;
}

6,创建Excel对象,创建sheet页签,创建行,创建每行的单元格

public static void main(String[] args) throws ParseException, IOException {
Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("StuInfo");
//创建表头
int rowNumber = 0 ;
Map<String, Object> header = createHeaderInfo(wb, sheet, rowNumber);
List<Map<String, Object>> listStuInfo = StuData.getStuInfo();
for(Map<String, Object> stuMap : listStuInfo) {
rowNumber++;
Row row = sheet.createRow(rowNumber);
Iterator<Entry<String, Object>> iterator = header.entrySet().iterator();
while(iterator.hasNext()){
Entry<String, Object> entry = iterator.next();
String headerCell = entry.getKey();
int cellNumber = (int) entry.getValue();
Cell cell = row.createCell(cellNumber);
CellStyle cellstyle = wb.createCellStyle();
cellstyle.setAlignment(CellStyle.ALIGN_CENTER);
cell.setCellStyle(cellstyle);
Object value = stuMap.get(headerCell);
if(value instanceof String) {
cell.setCellValue((String)value);
}else if(value instanceof Date){
cell.setCellValue(((Date) value).toLocaleString());
}else if(value instanceof Integer){
cell.setCellValue((Double.valueOf(value.toString())));
} }
} FileOutputStream fos = new FileOutputStream("E:/studentInfo.xlsx");
wb.write(fos);
fos.flush();
fos.close();
System.out.println("OK"); }

  

java poi 导出Excel文件的更多相关文章

  1. java POI导出Excel文件数据库的数据

    在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作.这里我简单实现导出Excel文件. POI jar ...

  2. 重构:以Java POI 导出EXCEL为例

    重构 开头先抛出几个问题吧,这几个问题也是<重构:改善既有代码的设计>这本书第2章的问题. 什么是重构? 为什么要重构? 什么时候要重构? 接下来就从这几个问题出发,通过这几个问题来系统的 ...

  3. Java POI导出Excel不弹框选择下载路径(下载文件不选择下载路径,默认) Chrome

    在Chrome浏览器中,Java导出Excel文件时,浏览器弹出提示框,需要选择下载路径 在Chrome中的高级设置中,把“下载前询问每个文件的保存位置”去掉就解决了 DEEPLOVE(LC)

  4. Java POI 导出EXCEL经典实现 Java导出Excel

    转自http://blog.csdn.net/evangel_z/article/details/7332535 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者 ...

  5. 重构:以Java POI 导出EXCEL为例2

    前言 上一篇博文已经将一些对象抽象成成员变量以及将一些代码块提炼成函数.这一节将会继续重构原有的代码,将一些函数抽象成类,增加成员变量,将传入的参数合成类等等. 上一篇博文地址:http://www. ...

  6. java 实现导出Excel文件

    java 实现导出Excel(java生成 excel 并导出文件) 经常有有一些数据需要导出成   excel  格式 ,所以就需要实现啦 开始: 1.加入jar poi-3.6-20091214. ...

  7. JAVA POI导出EXCEL 动态表头、多级表头、动态数据

    导出Excel文件是业务中经常遇到的需求,以下是经常遇到的一些问题: 1,导出中文文件名乱码 String filename = "sheet1";response.setChar ...

  8. java poi导出EXCEL xls文件代码

    String _currentPage = request.getParameter("currentPage"); Integer currentPage = 0; if(_cu ...

  9. java:POI导出excel

    POI是一个开源项目,专用于java平台上操作MS OFFICE,企业应用开发中可用它方便导出Excel. 下面是使用示例: 1.maven中先添加依赖项 <dependency> < ...

随机推荐

  1. 常用WebService一览表

    天气预报Web服务,数据来源于中国气象局 Endpoint :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx Disco     ...

  2. 回收站引发ORACLE查询表空间使用缓慢

    一个哥们问我 ,他们查询 表空间使用率 跑了一个多小时,这个太坑爹了,让我 帮忙优化一下. SQL语句如下 select * from ( select ts.tablespace_name,ts.c ...

  3. sharepoint 使用命令行注册dll文件到gac的方法

    使用命令行注册dll文件到gac的方法: gacutil.exe -i D:\SPFormLoginProject.dll 删除gac的dll方法: gacutil /u "SPFormLo ...

  4. 学习OpenCV:滤镜系列(15)——羽化(模糊边缘)

    ============================================== 版权所有:小熊不去实验室CSDN博客 ================================== ...

  5. [置顶] 遵循Java EE标准体系的开源GIS服务平台架构

    传送门 ☞ 系统架构设计 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 传送门 ☞ GoF23种设计模式 ☞ 转载请注明 ☞ http://blog.csd ...

  6. 结构-行为-样式-Css Div 居中的一个最佳实践

    最近在做项目的时候,经常会有需要各种居中的情况,现在分享一个最佳实践. <div class="success-bottom"> <div class=" ...

  7. 如何编译Apache Hadoop2.2.0源代码

    转自(原文图片已丢失,本文修复图片,重新排版,并更正部分原文错误):http://www.superwu.cn/2013/12/26/913 欢迎和大家交流技术相关问题: 邮箱: jiangxinnj ...

  8. windows全系列激活脚本-改良版.cmd

    @ECHO OFFTITLE Windows 全版本系统激活cscript //nologo %Systemroot%\system32\slmgr.vbs -skms 10.1.1.12ECHO 检 ...

  9. Leetcode-39-Submission Details (Medium)

    1.首先对数组进行排序 2.递归搜索符合的元素 3.注意回溯 超越67%的用户 #!/usr/local/bin/python3 # -*- coding: utf-8 -*- __author__ ...

  10. 第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据

    第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据 学习要点: 1.JSON语法 2.解析和序列化 前两章我们探讨了XML的结构化数据,但开发人员还是觉得这 ...