//导出
public void getTest(HttpServletRequest req,HttpServletResponse response) {
try {
//查询出来要导出的数据
List<PmsUser>listUser = userService.getUser();
List<String>titleName = new ArrayList<String>();
titleName.add("id");
titleName.add("版本");
titleName.add("姓名");
titleName.add("类型");
//创建HSSFWorkbook对象(excel的文档对象)
HSSFWorkbook wb = new HSSFWorkbook();
//建立新的sheet对象(excel的表单)
HSSFSheet sheet=wb.createSheet("用户清单");
//设置缺省列高
sheet.setDefaultRowHeightInPoints(10);
//设置缺省列宽
sheet.setDefaultColumnWidth(10);
//创建单元格样式
HSSFCellStyle cellStyle=wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);
//在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
HSSFRow row1=sheet.createRow(0);
//创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
HSSFCell cell=row1.createCell(0);
//设置单元格内容
cell.setCellValue("用户一览表");
//合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));
//在sheet里创建第二行
HSSFRow row2=sheet.createRow(1);
//创建单元格并设置单元格内容
for (int i = 0; i < titleName.size(); i++) {
row2.createCell(i).setCellValue(titleName.get(i));
}
//在sheet里创建第三行
for (int i = 0; i < listUser.size(); i++) {
HSSFRow row=sheet.createRow(i+2);
row.createCell(0).setCellValue(listUser.get(i).getId());
row.createCell(1).setCellValue(listUser.get(i).getVersion());
row.createCell(2).setCellValue(listUser.get(i).getUserNo());
row.createCell(3).setCellValue(listUser.get(i).getUserName());
}
//输出Excel文件
OutputStream output;
output = response.getOutputStream();
response.reset();
response.setHeader("Content-disposition", "attachment; filename=details.xls");
response.setContentType("application/msexcel");
wb.write(output);
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//导入
public void importTest() throws IOException{
FileInputStream fileIn = new FileInputStream("E:/details.xls");
//根据指定的文件输入流导入Excel从而产生Workbook对象
Workbook wb = new HSSFWorkbook(fileIn);
//获取Excel文档中的第一个表单
Sheet sht0 = wb.getSheetAt(0);
//对Sheet中的每一行进行迭代
for (Row r : sht0) {
//如果当前行的行号(从0开始)未达到2(第三行)则从新循环
if(r.getRowNum()<2){
continue;
}
//创建实体类
PmsUser pu=new PmsUser();
//取出当前行第1个单元格数据,并封装在info实体stuName属性上
//long numericCellValue = (long)r.getCell(0).getNumericCellValue();
//pu.setId(numericCellValue);
//pu.setVersion(((int)(r.getCell(1).getNumericCellValue())));
pu.setUserNo((r.getCell(2).getStringCellValue()));
pu.setUserName((r.getCell(3).getNumericCellValue())+"");
pu.setStatus((int)r.getCell(4).getNumericCellValue());
pu.setUserPwd((r.getCell(5).getNumericCellValue())+"");
//pu.setCreateTime((r.getCell(6).getDateCellValue()));
pu.setUserType(((int)r.getCell(7).getNumericCellValue())+"");
userService.insertUser(pu);
}
fileIn.close();
}