java apache POI xls的导入与导出

对于struts2的自动封装来说set是从浏览器到服务端所需要的,get是从服务端到浏览器所需要的
导包poi
处理文件导入一般为批量导入

//获得文件流
HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(File));
//根据本页的名字得到页
HSSFSheet sheet=workbook.getSheet("Sheet1");
 for (Row row : sheet){
 //可以得到行号开头为0
 int rowNum=row.getRowNum();
 //根据行得到数据
     String id = row.getCell(0).getStringCellValue();
     String province = row.getCell(1).getStringCellValue();
     String city = row.getCell(2).getStringCellValue();
     String district = row.getCell(3).getStringCellValue();
     String postcode = row.getCell(4).getStringCellValue();
 //后面根据数据做处理,像把数据存到一个list<T>集合然后后边遍历处理    
}

导出

        public String exportXls() throws IOException{
            //第一步:查询数据
            List<T> list = T.findAll();
            //第二步:使用POI将数据写到Excel文件中
            //在内存中创建一个Excel文件
            HSSFWorkbook workbook = new HSSFWorkbook();
            //创建一个标签页
            HSSFSheet sheet = workbook.createSheet("页名字");
            //创建标题行
            HSSFRow headRow = sheet.createRow(0);
            headRow.createCell(0).setCellValue("第一行一列");
            headRow.createCell(1).setCellValue("第一行二列");
            headRow.createCell(2).setCellValue("第一行三列"); 
            for (T t: list) {
                HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1);
                dataRow.createCell(0).setCellValue(t.getId());
                dataRow.createCell(1).setCellValue(t.getStartnum());
                dataRow.createCell(2).setCellValue(t.getEndnum());
            }
            //第三步:使用输出流进行文件下载(一个流、两个头)
            String filename = "name(中文需要处理).xls";
            String contentType = ServletActionContext.getServletContext().getMimeType(filename);
            //输出流
            ServletOutputStream out = ServletActionContext.getResponse().getOutputStream();
            ServletActionContext.getResponse().setContentType(contentType);
            //获取客户端浏览器类型
            String agent = ServletActionContext.getRequest().getHeader("User-Agent");
            filename = FileUtils.encodeDownloadFilename(filename, agent);
            ServletActionContext.getResponse().setHeader("content-disposition", "attachment;filename="+filename);
            workbook.write(out);
            return NONE;
        }
阅读更多
版权声明:日日行进,终成长。一个菜鸟的开始http://blog.csdn.net/baidu_35684456 https://blog.csdn.net/baidu_35684456/article/details/79949568
个人分类: java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭