import com.alibaba.fastjson.JSONObject;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
public class DownExcel {
/**
* 下载Excel
* @param name 表头
* @param nameList key
* @param data 数据源
* @param request
* @param response
* @param row 行
* @param col 列
*/
public static void downExcel(String [] name,String [] nameList, List<JSONObject> data, HttpServletRequest request, HttpServletResponse response,int row,int col) {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("new sheet");
HSSFRow row1 = sheet.createRow(0);
for(int j=0;j<name.length;j++) {
row1.createCell(j).setCellValue(name[j]);
}
for(int i=0;i<row;i++) {
HSSFRow rowa = sheet.createRow(i+1);
for(int j=0;j<col;j++){
rowa.createCell(j).setCellValue(data.get(i).getString(nameList[j]));
}
}
String fileName = System.currentTimeMillis()+".xls";
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
try {
workbook.write(response.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}