所用jar
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17-beta1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
导出实列
HSSF - 提供读写Microsoft Excel格式档案的功能。
HSSFWorkbook 声明一个工作簿,创建一个excel文件
//创建HSSFWork对象(excel的文档对象)
HSSFWorkbook wb=new
HSSFWorkbook();
//创建HSSFSheet对象(excel表单)
HSSFSheet sheet = wb.createSheet("成绩表");
//创建HSSFRow对象(第一行)
HSSFRow row = sheet.createRow(0);
//创建HSSFCell对象是(excel单元格,参数为列索引,可以在0-255之间的任何一个 )
HSSFCell cell=row.createCell(0);
//设置单元格的值
cell.setCellValue("学员考试成绩表");
//合并单元格CellRangeAddress构造参数一次表示起始行,截止行,起始列,戒指列
sheet.addMergedRegion(new
CellRangeAddress(0,0,0,3));
//创建第二行
HSSFRow row1=sheet.createRow(1);
//设置单元格中的内容
row1.createCell(0).setCellValue("姓名");
row1.createCell(1).setCellValue("班级");
row1.createCell(2).setCellValue("笔试成绩");
HSSFRow row2=sheet.createRow(2);
//设置单元格中的内容
row2.createCell(0).setCellValue("王敦");
row2.createCell(1).setCellValue("y2165");
row2.createCell(2).setCellValue("100");
//输出Excel文件
FileOutputStream output=new
FileOutputStream("d:\\workbook.xls");
wb.write(output);
output.flush();
集合导出
HSSFWorkbook wkb=new HSSFWorkbook();
HSSFSheet sheet=wkb.createSheet("成绩表");
//创建第一行
HSSFRow row1=sheet.createRow(0);
List<Studnets>list=new ArrayList<Studnets>();
Studnets studnets=new Studnets();
studnets.setSid(1);
studnets.setSname("王");
Studnets studnet=new Studnets();
studnet.setSid(1);
studnet.setSname("王");
list.add(studnet);
list.add(studnets);
HSSFCell cell1 = row1.createCell((short)
0);
cell1.setCellValue("学生编号");
cell1=row1.createCell( (short)
1);
cell1.setCellValue("学生姓名");
cell1 = row1.createCell((short)
2);
cell1.setCellValue("学生性别");
for (short
i = 0; i < list.size(); i++) {
row1 = sheet.createRow(i + 1);
row1.createCell(0).setCellValue(list.get(i).getSid());
row1.createCell(1).setCellValue(list.get(i).getSname());
}
row1.createCell(0).setCellValue(list.get(i).getSid());
}