1. <span style="font-family:Verdana, Arial, Helvetica, sans-serif;line-height:25.2px;background-color:rgb(255,255,255);">1.首先下载poi-3.6-20091214.jar,下载地址如下:</span>

http://download.csdn.net/detail/evangel_z/3895051

或者使用Maven仓库管理,在pom文件添加坐标

<dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi</artifactId>
   <version>3.15</version>
           </dependency>

2.Member.java   创建一个实体对象

  1. package com.leyooe.common.bean.customizedproperty;
  2. import java.util.Date;
  3. public class Member{
  4. private Integer code;
  5. private String name;
  6. private Integer age;
  7. private Date birth;
  8. public Student(Integer code, String name, Integer age, Date birth) {
  9. super();
  10. this.code = code;
  11. this.name = name;
  12. this.age = age;
  13. this.birth = birth;
  14. }
  15. public Integer getCode() {
  16. return code;
  17. }
  18. public void setCode(Integer code) {
  19. this.code = code;
  20. }
  21. public String getName() {
  22. return name;
  23. }
  24. public void setName(String name) {
  25. this.name = name;
  26. }
  27. public Integer getAge() {
  28. return age;
  29. }
  30. public void setAge(Integer age) {
  31. this.age = age;
  32. }
  33. public Date getBirth() {
  34. return birth;
  35. }
  36. public void setBirth(Date birth) {
  37. this.birth = birth;
  38. }
  39. }

3.CreateSimpleExcelToDisk.java

  1. package com.leyooe.otw.api.file;
  2. import java.io.FileOutputStream;
  3. import java.text.SimpleDateFormat;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import org.apache.poi.hssf.usermodel.HSSFCell;
  7. import org.apache.poi.hssf.usermodel.HSSFCellStyle;
  8. import org.apache.poi.hssf.usermodel.HSSFRow;
  9. import org.apache.poi.hssf.usermodel.HSSFSheet;
  10. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  11. import com.leyooe.common.bean.customizedproperty.Member;
  12. public class CreateSimpleExcelToDisk
  13. {
  14. /**
  15. * @功能:手工构建一个简单格式的Excel
  16. */
  17. private static List<Member> getMember() throws Exception
  18. {
  19. List list = new ArrayList();
  20. SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
  21. Member user1 = new Member(1, "熊大", 24, df.parse("1993-08-28"));
  22. Member user2 = new Member(2, "熊二", 23, df.parse("1994-08-19"));
  23. Member user3 = new Member(3, "熊熊", 24, df.parse("1983-11-22"));
  24. list.add(user1);
  25. list.add(user2);
  26. list.add(user3);
  27. return list;
  28. }
  29. public static void main(String[] args) throws Exception
  30. {
  31. // 第一步,创建一个webbook,对应一个Excel文件
  32. HSSFWorkbook wb = new HSSFWorkbook();
  33. // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
  34. HSSFSheet sheet = wb.createSheet("学生表一");
  35. // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
  36. HSSFRow row = sheet.createRow((int) 0);
  37. // 第四步,创建单元格,并设置值表头 设置表头居中
  38. HSSFCellStyle style = wb.createCellStyle();
  39. style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
  40. HSSFCell cell = row.createCell((short) 0);
  41. cell.setCellValue("学号");
  42. cell.setCellStyle(style);
  43. cell = row.createCell((short) 1);
  44. cell.setCellValue("姓名");
  45. cell.setCellStyle(style);
  46. cell = row.createCell((short) 2);
  47. cell.setCellValue("年龄");
  48. cell.setCellStyle(style);
  49. cell = row.createCell((short) 3);
  50. cell.setCellValue("生日");
  51. cell.setCellStyle(style);
  52. // 第五步,写入实体数据 实际应用中这些数据从数据库得到,
  53. List list = CreateSimpleExcelToDisk.getMember();
  54. for (int i = 0; i < list.size(); i++)
  55. {
  56. row = sheet.createRow((int) i + 1);
  57. Member stu = (Member) list.get(i);
  58. // 第四步,创建单元格,并设置值
  59. row.createCell((short) 0).setCellValue((double) stu.getCode());
  60. row.createCell((short) 1).setCellValue(stu.getName());
  61. row.createCell((short) 2).setCellValue((double) stu.getAge());
  62. cell = row.createCell((short) 3);
  63. cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(stu
  64. .getBirth()));
  65. }
  66. // 第六步,将文件存到指定位置
  67. try
  68. {
  69. FileOutputStream fout = new FileOutputStream("E:/Members.xls");
  70. wb.write(fout);
  71. fout.close();
  72. }
  73. catch (Exception e)
  74. {
  75. e.printStackTrace();
  76. }
  77. }
  78. }

excel表格就被保存到指定位置了。

  1. 替换第六步可实现下载
    1. // 第六步,下载excel
    2. OutputStream out = null;
    3. try {
    4. out = response.getOutputStream();
    5. String fileName = "enroll.xls";// 文件名
    6. response.setContentType("application/x-msdownload");
    7. response.setHeader("Content-Disposition", "attachment; filename="
    8. + URLEncoder.encode(fileName, "UTF-8"));
    9. wb.write(out);
    10. } catch (Exception e) {
    11. e.printStackTrace();
    12. } finally {
    13. try {
    14. out.close();
    15. } catch (IOException e) {
    16. e.printStackTrace();
    17. }
    18. }

JAVA实现创建Excel表并导出(转发)的更多相关文章

  1. HSSFWorkBooK用法 —Excel表的导出和设置

    HSSFWorkBooK用法 —Excel表的导出和设置 2013年02月21日 ⁄ 综合 ⁄ 共 9248字 ⁄ 字号 小 中 大 ⁄ 评论关闭 public ActionResult excelP ...

  2. POI框架实现创建Excel表、添加数据、读取数据

    public class TestPOI2Excel {//创建2003版本Excel用此方法 @Test public void testWrite03Excel() throws Exceptio ...

  3. java POI创建Excel示例(xslx和xsl区别 )

    Java用来处理office类库有很多,其中POI就是比较出名的一个,它是apache的类库,现在版本到了3.10,也就是2014年2月8号这个版本. 在处理PPT,Excel和Word前,需要导入以 ...

  4. HSSFWorkBooK用法 ---Excel表的导出和设置

    public ActionResult excelPrint() { HSSFWorkbook workbook = new HSSFWorkbook();// 创建一个Excel文件 HSSFShe ...

  5. Java版将EXCEL表数据导入到数据库中

    1.采用第三方控件JXL实现 try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls ...

  6. java+jxls利用excel模版进行导出

    大多时候会出现需要导出excel的功能,利用poi可以实现简单的导出,可以说poi的功能非常强大可以做到细节的定制化操作,但相对于在office操作excel,利用poi完全生成excel会显得非常复 ...

  7. 如果从excel表中导出insert-sql

    =CONCATENATE("INSERT INTO p_act_lottery(actId,status,grantWay,createTime,invalidTime,amount,pri ...

  8. 【ITOO 1】将List数据导出Excel表

    需求描述:在课表导入的时候,首先给用户提供模板(excel),然后将用户填写好的数据读取到list集合中.再进行判空处赋值处理,以及去重处理.这篇博客,主要介绍读取excel表和导出excel表的方法 ...

  9. 使用Java创建Excel,并添加内容

    使用Java创建Excel,并添加内容 一.依赖的Jar包 jxl.jar,使用jxl操作Excel Jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Ex ...

随机推荐

  1. HDU1851 A Simple Game

    一个关于SG的博弈游戏,对于某个堆有$M_i$和$L_i$,那么这个堆的SG值为 $$SG_i = M_i \%(L_i+1)$$ 为什么这道题的$SG$函数就是这样子的呢?四个字:手算打表!! $L ...

  2. bzoj1036 [ZJOI2008]树的统计Count——LCT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1036 LCT水题! 然而没有1A(咬牙)! 注意值有负数,所以取 max 的话要把作为“哨兵 ...

  3. 响应在此上下文中不可用 asp.net

    (一)实例1: 在asp.net程序中添加了一个 类.cs 如下 using System; using System.Collections; using System.ComponentModel ...

  4. TI BLE:读本机地址

    uint8 ownAddress[B_ADDR_LEN];  //B_ADDR_LEN=6GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress); #def ...

  5. Python Matplotlib模块--pylab

    #-*- coding: utf-8 -*- ''' subplot(m,n,p):其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表 ...

  6. bzoj 1854: [Scoi2010]游戏【匈牙利算法】

    没啥可说的,就是一边属性一边道具建二分图,把两个属性都连到道具上,然后枚举匹配,如果无法匹配就输出,时间戳优化 #include<iostream> #include<cstdio& ...

  7. bzoj 2200: [Usaco2011 Jan]道路和航线【spfa】

    直接跑最短路就行了--还不用判负环 #include<iostream> #include<cstdio> #include<queue> using namesp ...

  8. hdu4738(边双连通分量,桥)

    Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  9. C#---数据库访问通用类、Access数据库操作类、mysql类 .

    //C# 数据库访问通用类 (ADO.NET)using System;using System.Collections.Generic;using System.Text;using System. ...

  10. 转 awr自动收集脚本

    1. remote get awr report #!/usr/bin/ksh ####sample: sh awr.sh 20170515 20170516 AWR ### default it w ...