一. 下载与环境配置
1. 下载POI组件包
下载地址:
http://apache.mirror.phpchina.com/poi/release/bin/poi-bin-3.0.2-FINAL-20080204.zip
说明: 1)docs目录:为POI的文档;
2)根目录下的jar 文件该组件的开发包
二. 源码解析
程序解析展示:
导入的包有:
java.util.*
org.apache.poi.hssf.usermodel.HSSFWorkbook
org.apache.poi.hssf.usermodel.HSSFSheet
org.apache.poi.hssf.usermodel.HSSFRow
org.apache.poi.hssf.usermodel.HSSFCell
java.io.*
//创建新的EXCEL 工作薄
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet( " sheet1 " );
HSSFSheet sheet1 = wb.createSheet( " sheet2 " );
// 以下以写表头
// 表头为第一行 没一行输入时都要重新定义 row
HSSFRow row = sheet.createRow(( short )0);
HSSFRow row1 = sheet1.createRow(( short )0);
HSSFCell cell1 = row.createCell(( short )0);
HSSFCell cell2 = row.createCell(( short )1);
HSSFCell cell3 = row.createCell(( short )2);
HSSFCell cell11 = row1.createCell(( short )0);
HSSFCell cell21 = row1.createCell(( short )1);
HSSFCell cell31 = row1.createCell(( short )2);
//设置每列的属性名
cell1.setEncoding(( short )1);
cell1.setCellType( 1 );
cell2.setEncoding(( short )1);
cell2.setCellType( 1 );
cell3.setEncoding(( short )1);
cell3.setCellType( 1 );
cell11.setEncoding(( short )1);
cell11.setCellType( 1 );
cell21.setEncoding(( short )1);
cell21.setCellType( 1 );
cell31.setEncoding(( short )1);
cell31.setCellType( 1 );
// 定义表头的内容
cell1.setCellValue( " 湖南" );
cell2.setCellValue( " 广州" );
cell3.setCellValue( " 上海" );
cell11.setCellValue( " 湖南1" );
cell21.setCellValue( " 广州2 " );
cell31.setCellValue( " 上海3 " );
for ( int i = 0 ; i < 4 ; i ++ ) {
// 定义数据从第二行开始
row = sheet.createRow(( short ) i + 1 );
cell1 = row.createCell(( short ) 0 );
cell2 = row.createCell(( short ) 1 );
cell3 = row.createCell(( short ) 2 );
cell1.setEncoding(( short )1);
cell1.setCellType( 1 );
cell2.setEncoding(( short )1);
cell2.setCellType( 1 );
cell3.setEncoding(( short )1);
cell3.setCellType( 1 );
// 填充内容
cell1.setCellValue( "长沙" );
cell2.setCellValue( "广州" );
cell3.setCellValue( "上海" );
}
String filename=application.getRealPath("/")+"test.xls";
FileOutputStream fo=new FileOutputStream(filename);
//设置该Excel是否可以读写
wb.write(fo);
out.println("excel 文件生成,存放在"+filename);
三. 全部代码:
<%@ page language="java" contentType ="text/html;charset=gb2312" %>
<%@ page import= "java.util.*,org.apache.poi.hssf.usermodel.HSSFWorkbook,org.apache.poi.hssf.usermodel.HSSFSheet,org.apache.poi.hssf.usermodel.HSSFRow,org.apach
e.poi.hssf.usermodel.HSSFCell,java.io.* " %>
<%
//创建新的EXCEL 工作薄
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet( " sheet1 " );
HSSFSheet sheet1 = wb.createSheet( " sheet2 " );
// 以下以写表头
// 表头为第一行 没一行输入时都要重新定义 row
HSSFRow row = sheet.createRow(( short )0);
HSSFRow row1 = sheet1.createRow(( short )0);
HSSFCell cell1 = row.createCell(( short )0);
HSSFCell cell2 = row.createCell(( short )1);
HSSFCell cell3 = row.createCell(( short )2);
HSSFCell cell11 = row1.createCell(( short )0);
HSSFCell cell21 = row1.createCell(( short )1);
HSSFCell cell31 = row1.createCell(( short )2);
//设置每列的属性名
cell1.setEncoding(( short )1);
cell1.setCellType( 1 );
cell2.setEncoding(( short )1);
cell2.setCellType( 1 );
cell3.setEncoding(( short )1);
cell3.setCellType( 1 );
cell11.setEncoding(( short )1);
cell11.setCellType( 1 );
cell21.setEncoding(( short )1);
cell21.setCellType( 1 );
cell31.setEncoding(( short )1);
cell31.setCellType( 1 );
// 定义表头的内容
cell1.setCellValue( " 湖南" );
cell2.setCellValue( " 广州" );
cell3.setCellValue( " 上海" );
cell11.setCellValue( " 湖南1" );
cell21.setCellValue( " 广州2 " );
cell31.setCellValue( " 上海3 " );
for ( int i = 0 ; i < 4 ; i ++ ) {
// 定义数据从第二行开始
row = sheet.createRow(( short ) i + 1 );
cell1 = row.createCell(( short ) 0 );
cell2 = row.createCell(( short ) 1 );
cell3 = row.createCell(( short ) 2 );
cell1.setEncoding(( short )1);
cell1.setCellType( 1 );
cell2.setEncoding(( short )1);
cell2.setCellType( 1 );
cell3.setEncoding(( short )1);
cell3.setCellType( 1 );
// 填充内容
cell1.setCellValue( "长沙" );
cell2.setCellValue( "广州" );
cell3.setCellValue( "上海" );
}
String filename=application.getRealPath("/")+"test.xls";
FileOutputStream fo=new FileOutputStream(filename);
//设置该Excel是否可以读写
wb.write(fo);
out.println("excel 文件生成,存放在"+filename);
%>
四. 结果截图