Java 导出excel文档

一、基础知识(背景)

1、Excel最初是微软公司推出的一款编写电子表格的软件。

2、当前B/S模式已成为应用开发的主流,一般在企业或者一些机构的办公系统中常常要用到excel表格的导入和导出功能。

3、了解一下Excel的基本构成 Excel表格,首先,它是一个工作簿(workbook),其次,它里面可以有一张一张的工作表(sheet)最多有256张,然后,工作表里面存放着一个个单元格,其中,一个个单元格构成了行与列,行最多65536行,列最多256列。

4、使用的是一个Jakarta POI的Java API,咱们的excel表格用到的是Jakarta POI HSSF API组件

5、下面是一些Jakarta POI的常用组件

Java 导出excel文档_第1张图片

二、思路

1、刚才我们了解到,一个excel表格首先是一个文档(workbook),然后,一个文档可以由多个工作表单(sheet)组成,一个sheet是由多行(row)组成,一个row是由多个单元格(cell)构成

2、所以若我们要制作一个excel表格文档的步骤为:

  •  创建一个文档(workbook)
  •  在文档中创建一个或多个工作表单(sheet)
  • 选择一个工作表单在其中创建多个行(row)
  • 在行里面创建单元格(cell)
  • 在单元格中写入内容
  • 制作完成,输出excel文件

三、实战应用

1、首先,创建一个工作文档

    //创建HSSFWorkbook对象

    HSSFWorkbook wb = new HSSFWorkbook(); 

2、在工作文档(wb)中,创建工作表单(sheet) 

    //创建HSSFSheet对象 

    HSSFSheet sheet = wb.createSheet("sheet0"); 

3、在表单中(sheet),创建行(row) 

    //创建HSSFRow对象 

    HSSFRow row = sheet.createRow(0);

4、在行(row)中,创建单元格(cell) 

    //创建HSSFCell对象 

    HSSFCell cell=row.createCell(0); 

5、在单元格中填入内容 

    //设置单元格的值 

    cell.setCellValue("value");

6、输出excel文档 

    //输出Excel文件 

    FileOutputStream output=new FileOutputStream("d:\\workbook.xls"); 

    wb.write(output); 

    output.flush(); 

    output.close();

7、大功告成

若在web应用中执行导出excel文档的操作,我们就将第六步改为:

我们访问该功能代码所对应的接口,接口通过response将excel表格返回给浏览器,浏览器识别出这个一个excel文档,然后用户执行浏览或保存操作

如下代码

OutputStream out = response.getOutputStream();
response.setCharacterEncoding("UTF-8");
// 设置contentType为excel格式
response.setContentType("application/vnd.ms-excel;charset=utf-8");        	
response.setHeader("Content-Disposition", "Attachment;Filename=demo.xls");
 wb.write(out);
 out.close();

 

你可能感兴趣的:(历练笔记)