需要的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("s2");
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()); }