POI 实现Excel 导入导出
?
POI 实现Excel 导入导出【转载】
自己到apache 下载poi.jar 这里不说了?
先写 JDBC 链接语句吧
?
public InputStream getInputStream(){ HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("sheet1"); HSSFRow row = sheet.createRow(0); HSSFCell cell = row.createCell((short) 0); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellValue("序号"); cell = row.createCell((short) 1); cell.setEncoding(HSSFCell.ENCODING_UTF_16); //设置字符编码 cell.setCellValue("姓名"); cell = row.createCell((short) 2); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellValue("密码"); List<Entity> listrepot=dao.getAllEntity(); //从数据库中获取数据 for (int i = 1; i <= listrepot.size(); ++i){ Entity rep= listrepot.get(i-1); row = sheet.createRow(i + 1); cell = row.createCell((short) 0); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellValue(i); cell = row.createCell((short) 1); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellValue(rep.getUserName()); cell = row.createCell((short) 2); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellValue(rep.getPassword()); } //这是核心了 直接在内存中创建 返回OK ByteArrayOutputStream os=new ByteArrayOutputStream(); try { wb.write(os); } catch (IOException e) { e.printStackTrace(); } byte[] content=os.toByteArray(); InputStream is=new ByteArrayInputStream(content); return is; }