java 导出 excel
来源:互联网 发布:淘宝有卖烟花棒的吗 编辑:程序博客网 时间:2024/04/30 13:58
- import java.io.IOException;
- import java.io.OutputStream;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.poi.hssf.usermodel.HSSFCell;
- import org.apache.poi.hssf.usermodel.HSSFRichTextString;
- import org.apache.poi.hssf.usermodel.HSSFRow;
- import org.apache.poi.hssf.usermodel.HSSFSheet;
- import org.apache.poi.hssf.usermodel.HSSFWorkbook;
- public class ExcelTool {
-
- public staticvoid createN(String filename, String[] title, String[] key,List<Map> values, HttpServletResponse httpServletResponse)throws IOException {
- String filename2=new String(filename.getBytes(),"iso-8859-1");
- ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream();
- HSSFWorkbook workbook = null;httpServletResponse.setHeader("Content-disposition","attachment; filename=" + filename2);
- httpServletResponse.setContentType("application/x-download");
- workbook = new HSSFWorkbook();HSSFSheet sheet = workbook.createSheet();
- HSSFRow row = null;
- HSSFCell cell = null;
- row = sheet.createRow((short)0);
- for (int i =0; title != null && i < title.length; i++) {
- cell = row.createCell((short) i);
- cell.setCellType(HSSFCell.CELL_TYPE_STRING);
- cell.setCellValue(new HSSFRichTextString(title[i]));
- }
- Map map = null;
- for (int i =0; values != null && i < values.size(); i++) {
- row = sheet.createRow((short) (i +1));
- map = values.get(i);for (int i2 =0; i2 < key.length; i2++) {
- cell = row.createCell((short) (i2));
- cell.setCellType(HSSFCell.CELL_TYPE_STRING);
- if(map.get(key[i2])==null){
- cell.setCellValue(new HSSFRichTextString(""));
- }else{
- cell.setCellValue(new HSSFRichTextString( map.get(key[i2]).toString()));
- }
- }
- }
- workbook.write(servletOutputStream);servletOutputStream.flush();
- }
- }