SpringMvc Contorller @SuppressWarnings("resource")@RequestMapping("/exportDailyExcel")public void exportDailyExcel(HttpServletRequest request,HttpServletResponse response){HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet she
package com.experot;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExperotExcel {
/**
* @param args
* @throws ParseException
* @throws IOException
*/
@SuppressWarnings({ "deprecation", "unchecked" })
public static void main(String[] args) throws Exception {
//第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb=new HSSFWorkbook();
//第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet=wb.createSheet("当日业务报表");
//第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row=sheet.createRow((short)0);
//第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style=wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //创建一个居中格式
HSSFCell cell=row.createCell((short)0);
cell.setCellValue("学号");cell.setCellStyle(style);
cell=row.createCell((short)1);
cell.setCellValue("姓名"); cell.setCellStyle(style);
cell=row.createCell((short)2);
cell.setCellValue("年龄");cell.setCellStyle(style);
cell=row.createCell((short)3);
cell.setCellValue("出生日期"); cell.setCellStyle(style);
// 第五步,写入实体数据 实际应用中这些数据从数据库得到,java操作Excel主要有两种方式,JXL和POI,在这儿我们并不去讨论两者孰优孰劣,读者暂且知道有这两种方式就好了。java对于Excel的操作内容主要有:创建(工作簿 / 电子表 / 单元格)、修改(样式 / 数值 )基本上已经能满足日常开发工作的大部份了。若要了解
List list=ExperotExcel.getStudent();
for(int i=0;i
{
row=sheet.createRow((int)(i+1));// 创建行的数据
Student student=(Student)list.get(i);
// 第四步,创建单元格,并设置值表头 的值
// HSSFCell cell1=row.createCell((short)0);
cell=row.createCell((short)0);
cell.setCellValue((int)student.getId());
cell=row.createCell((short)1);
cell.setCellValue((String)student.getName());
cell=row.createCell((short)2);
cell.setCellValue((int)student.getAge());
cell=row.createCell((short)3);
cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(student.getBirth()));
// row = sheet.createRow((int)i+1);
// Student stu = (Student) list.get(i);
// //第四步,创建单元格,并设置值
// row.createCell((short)0).setCellValue((double)stu.getId());
// row.createCell((short)1).setCellValue(stu.getName());
// row.createCell((short)2).setCellValue((double)stu.getAge());
// cell = row.createCell((short)3);
// cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(stu.getBirth()));
}
try {
FileOutputStream outputStream=new FileOutputStream("E:/student.xls");
wb.write(outputStream);
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
public static List getStudent() throws Exception
{
List stuList=new ArrayList();
SimpleDateFormat df=new SimpleDateFormat("yyyy-mm-dd");
Student student1=new Student(1,"张三",18,df.parse("1987-12-25"));
Student student2=new Student(2,"李四",19,df.parse("1997-01-25"));
Student student3=new Student(3,"王五",20,df.parse("1907-01-25"));
Student student4=new Student(4,"二师兄",21,df.parse("1977-12-25"));
stuList.add(student1);
stuList.add(student2);
stuList.add(student3);
stuList.add(student4);
return stuList;
}
}
/
循环里两种都可以用,
这里是每列的创建,上面是为了简写,才写在row,到最后才用cell来结束