chiguanxin 2012-07-06 14:48
浏览 454
已采纳

POI怎样通过模版是一个Excel表格获得模版的各种设置

现在有一个空白的Excel模版,不过模版里面有单元格的各种格式,请问怎么样通过POI 实现将一个有数据的excel文件通过模版,生存具有模版文件所有设置的新文件,求代码,最好详细点谢谢!

  • 写回答

2条回答 默认 最新

  • MeiJianMing 2012-07-06 16:51
    关注

    [code="java"]
    public class ExporTest {
    private Map smap;// 存储模板中单元格样式
    @Test
    public void test() {
    Workbook wb = getWorkbook(path);
    initStyle(wb);
    writeSheet(wb.getSheetAt(1));
    writeExcel(wb);
    }

    private Workbook getWorkbook(String filepath) {
    
        Workbook wb = null;
        try {
            wb = new XSSFWorkbook(filepath);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return wb;
    }
    
    /**
     * 从模板中取单元格样式,
     * 
     * @param wb
     */
    private void initStyle(Workbook wb) {
    
        CellStyle normal = wb.getSheetAt(0).getRow(5).getCell(0).getCellStyle();
        smap.put("normal", normal);
    }
    
    private void writeSheet(Sheet sh) {
    
        for (int i = 0; i < ps.size(); i++) {
            Row row = sh.createRow(i + 1);
            Cell cell = row.createCell(0);
            cell.setCellStyle(smap.get("normal"));
            cell.setCellValue(permission.getName());
        }
    }
    
    private void writeExcel(Workbook wb) {
    
        try {
            FileOutputStream out = new FileOutputStream("test.xls");
            wb.write(out);
            out.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?