import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.zfkj.utils.oConvertUtils;
//Controller层得处理 (导出)
@RequestMapping(params = "outexcel") //前台使用ajax请求得方法名@ResponseBody //使用得ajax请求
public void outexcel(HttpServletRequest request,HttpServletResponse response) throws IOException{
//查出所有要导出得数据
List<Map<String, Object>> list = familyService.queryList();
//设置类型(不需要改动)
response.setContentType("application/msexcel");
//设置头部信息(不需要改动)
response.addHeader("Content-Disposition", "attachment;filename="+java.net.URLEncoder.encode(" 文件名","UTF-8")+".xlsx");
//构造对象
XSSFWorkbook wb = new XSSFWorkbook();
//创建Sheet
Sheet sheet = wb.createSheet("家庭组信息");
//3.添加行(列可自行添加,列和行要匹配)
Row row = sheet.createRow((short)0);
row.createCell(0).setCellValue(" 列名");
row.createCell(1).setCellValue(" 列名");
row.createCell(2).setCellValue(" 列名");
row.createCell(3).setCellValue(" 列名");
int i=1;
//循环list,把数据放入到对应得行中(行可自行添加)
for(Map<String,Object> map:list){
Row row1 = sheet.createRow((short)i);
row1.createCell(0).setCellValue(i++); //序号自动加一
row1.createCell(1).setCellValue(oConvertUtils.getString(map.get(" key值")));
row1.createCell(2).setCellValue(oConvertUtils.getString(map.get(" key值")));
row1.createCell(3).setCellValue(oConvertUtils.getString(map.get(" key值")));
}
wb.write(os); //写回
os.close(); //关闭流
}