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. YTU 2541: 汽水瓶

    2541: 汽水瓶 时间限制: 1 Sec  内存限制: 128 MB 提交: 40  解决: 27 题目描述 有这样一道智力题:"某商店规定:三个空汽水瓶可以换一瓶汽水.小张手上有十个空汽 ...

  2. android 制作9.png图片

    什么叫.9.PNG呢,这是安卓开发里面的一种特殊的图片   这种格式的图片在android 环境下具有自适应调节大小的能力.   (1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区 ...

  3. java 语法 —— 数组

    1. 编译器不允许指定数组的大小 int[] a1; 既然编译器不允许指定数组的大小,现在 a1 拥有的只是对数组的一个引用,且未给该数组对象本身分配任何空间.为了给数组创建对应的存储空间,必须写初始 ...

  4. [Codeforces 466C] Number of Ways

    [题目链接] https://codeforces.com/contest/466/problem/C [算法] 维护序列前缀和 , 枚举中间一段即可 , 详见代码 时间复杂度 : O(N) [代码] ...

  5. RDA 互斥锁的使用

    在多线程下,在同一时间内,可能有多个线程在操作.如果没有同步机制,那么很难保证每个线程操作的正确性. 1.互斥锁概念: 互斥锁提供一个可以在同一时间,只让一个线程访问临界资源的的操作接口.互斥锁(Mu ...

  6. js实现页面的全屏与退出

    1.在data里面定义: data(){ return{ isScreen:false, } } //是否显示全屏 fullScreen(event){ this.isScreen = !this.i ...

  7. RandomAccessFile使用场景及总结

    大家在学到Java中IO流的时候学到了各种流,对文件的各种操作.但是唯独可能对RandomAccessFile对象不会去过多的研究,那么这个到底有什么用呢? RandomAccessFile的唯一父类 ...

  8. PHP的包依赖管理工具Composer简介

    composer是一个基于项目的依赖管理器,负责将php项目的所依赖的包和库安装在项目的目录中,默认不会不会安装任何数据到全局.他用于取代之前pear工具 1 安装Composer curl -sS  ...

  9. C#基础 进制转换6/17

    二进制→十进制: 计算公式:a*20+b*21+c*22+…+m*2(n-1) 公式中a为二进制数右边第一位数,b为第二位数,以此类推 例:二进制1011010转换为十进制数为 0*20+1*21+0 ...

  10. MVC学习-发送请求

    在HomeControl中添加一个Action,代码如下: public ActionResult Add() { return View(); } 当View()中不写任何参数时,默认会调用同名的视 ...