首页 > 学院 > 开发设计 > 正文

java处理Excel相关笔记

2019-11-14 15:00:26
字体:
来源:转载
供稿:网友
           String name = file.getFilename();                  name = name.replaceAll("(&|=|,)", "");           response.setHeader("Content-Disposition", "Attachment; Filename=" + name);           response.setContentType(file.getContentType());           IOUtils.copy(file.getInputStream(), response.getOutputStream());          response.flushBuffer();
            // 构建输出流            response.reset();            final String attachmentHeader = "Attachment; Filename*=utf-8''"                    + URLEncoder.encode(PRoject.getName() + ".xls", "UTF-8").replaceAll("//+", "%20");            response.setHeader("Content-disposition", attachmentHeader);            response.setContentType("application/msExcel");            // 生成工作表            WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream());            WritableSheet sheet = wwb.createSheet("任务列表", 1);            // 格式化文本            WritableFont font1 = new WritableFont(WritableFont.TIMES, 12, WritableFont.BOLD);            WritableCellFormat format1 = new WritableCellFormat(font1);            format1.setAlignment(jxl.format.Alignment.CENTRE);            format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);                   // 表格大小                   sheet.setColumnView(0, 20);                  // 表头            sheet.addCell(new Label(0, 0, "任务名称", format1));                   // 任务列表            SimpleDateFormat sdf = new SimpleDateFormat("MM/dd HH:mm");            for (int i = 1; i <= taskList.size(); i++) {                ProjectTask pt = taskList.get(i - 1);                sheet.addCell(new Label(0, i, pt.getName(), format2));             }             // 关闭输出流            wwb.write();            wwb.close();             //初始化工作表输出流            String title="工程项目导出";            response.setContentType("application/vnd.ms-excel");                response.setHeader("Content-disposition", "attachment;filename="+new String(title.getBytes("GB2312"),"ISO8859_1") +".xls");                         //标题有中文必须转码 ,attachment:显示另存为对话框inline:尝试用已知关联的程序打开。            WritableWorkbook workbook;            OutputStream ouputStream = response.getOutputStream();                     workbook = Workbook.createWorkbook(ouputStream);                        WritableSheet sheet = workbook.createSheet("工程列表", 0);                sheet.setColumnView(0, 5);    //设置宽度                      jxl.write.WritableFont wfont = new jxl.write.WritableFont(WritableFont.createFont("宋体"), 10);//设置字体            WritableCellFormat wc = new WritableCellFormat(wfont);                         wc.setAlignment(Alignment.CENTRE);                 // 设置居中              wc.setBackground(jxl.format.Colour.LIGHT_GREEN); // 设置单元格的背景颜色                        //工作表内容 - Label label            sheet.addCell(new jxl.write.Label(0, 0,"序号",wc));                         sheet.addCell(new jxl.write.Label(13, 0,"任务状态",wc));                       for (int i = 1; i <= omProjectList.size(); i++) {                OmProject omProject = omProjectList.get(i-1);                sheet.addCell(new jxl.write.Number(0, i,i));                  sheet.addCell(new jxl.write.Label(1, i,omProject.getAcceptDate()));                              }            //关闭工作表输出流            workbook.write();            workbook.close();            ouputStream.flush();                ouputStream.close();                  FileInputStream inputStream = new FileInputStream(importFile);            FileOutputStream outputStream = new FileOutputStream(filePath);            byte[] buf = new byte[1024];            int length = 0;            while ((length = inputStream.read(buf)) != -1) {                outputStream.write(buf, 0, length);            }            inputStream.close();            outputStream.flush();    Workbook workbook =  Workbook.getWorkbook(new File(filePath));        Sheet[] sheets = workbook.getSheets();            if (sheets != null && sheets.length > 0) {                Sheet sheet = sheets[0];                int rowSize = sheet.getRows();                                for (int j = 1; j < rowSize; j++) {                Cell[] psCells = sheet.getRow(j);                                String content = psCells[k].getContents();      }

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表