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条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算