LiJun
2018-10-22 d61326581ec74e17bff7d7a71c0137e6693a0fc3
表格通用导出修复
1个文件已修改
22 ■■■■ 已修改文件
gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/servlets/ExportTableServlet.java
@@ -136,8 +136,8 @@
        String exp_thead_str = req.getParameter("exp_thead");
        String exp_tbody_str = req.getParameter("exp_tbody");
        
        String exp_page_break = req.getParameter("exp_page_break");
        String exp_data_break = req.getParameter("exp_data_break");
        String exp_page_break = "\\"+req.getParameter("exp_page_break");
        String exp_data_break = "\\"+req.getParameter("exp_data_break");
        
        String exp_page_names_str =  req.getParameter("exp_page_names");
        
@@ -160,18 +160,20 @@
                exp_page_names = exp_page_names_str.split(exp_page_break);            //分割工作簿的名称
                
                String[] exp_thead_sheets = exp_thead_str.split(exp_page_break);
                String[] exp_tbody_sheets = exp_tbody_str.split(exp_page_break);
                String[] exp_tbody_sheets = exp_tbody_str.split(exp_page_break);
                
                for (int i = 0; i < exp_page_names.length && exp_page_names.length >= exp_thead_sheets.length; i++) {
                    HSSFSheet sheet = workbook.createSheet(excelTitle);
                    HSSFSheet sheet = workbook.createSheet(exp_page_names[i]);
                    String[] exp_thead = exp_thead_sheets[i].split(exp_data_break);
                    String[] exp_tbody = exp_tbody_sheets[i].split(exp_data_break);
                    
                    int maxColNum = exp_thead.length;            //最大列数
                    int nowRowNum = 0;                            //当前行
                    int nowColNum = 0;                            //当前列
                    HSSFRow row = null;
                    for(int j=0;j <= exp_tbody.length;j++){
                        HSSFRow row = null;
                        //System.out.println("j="+j+"\t nowRowNum="+nowRowNum);
                        if(j == 0){
                            row = sheet.createRow(nowRowNum++); 
                            for(int k=0;k<exp_thead.length;k++){    
@@ -187,6 +189,7 @@
                        }
                        HSSFCell cell = row.createCell(nowColNum++);
                        HSSFRichTextString text = new HSSFRichTextString(exp_tbody[j-1]);
                        //HSSFRichTextString text = new HSSFRichTextString("*****");
                        //System.out.print(text+"\t");
                        cell.setCellValue(text);                        
                    }                    
@@ -197,6 +200,8 @@
                    + new String(excelName.getBytes("gb2312"), "ISO8859-1")
                    + ".xls");
            OutputStream out = resp.getOutputStream();
            workbook.write(out);
            out.close();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
@@ -418,5 +423,10 @@
       
    }
    
    public static void main(String[] args) {
        String ths = "h1&h2&h3&h4$xh1&xh2&xh3&xh4";
        System.out.println(ths.indexOf("$"));
        String[] sheets = ths.split("\\&");
        System.out.println(sheets.length);
    }
}