码迷,mamicode.com
首页 > 其他好文 > 详细

POI导出excel学习

时间:2018-07-19 19:10:34      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:来源   文件中   src   技术   企业邮箱   quick   ima   empty   创建   

1.POI是什么?

  • poi是Apache团队开发的专门面对用java处理Excel文档的工具。
  • 官网地址:https://poi.apache.org/

2.操作流程

  • 此部分通过代码解释使用POI将集合导出Excel的流程,在下一节中详细解释。
   /**
     * 将集合转化为Excel表格
     */
    public void getExcel(List<List<String>> list) throws IOException {
        //1.标题
        String[] title = {"招聘名称", "投递邮箱", "信息来源", "信息城市", "来源网站"};
        //2.文件名
        String fileName = new String("企业邮箱信息.xls".getBytes(), "utf-8");
        //3.sheet名
        String sheetName = new String("梧桐果、海投网、我司企业邮箱信息".getBytes(), "utf-8");

        // 1.创建一个HSSFWorkbook,对应一个Excel文件
        HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
        // 2.在workbook中添加一个sheet,对应Excel文件中的sheet
        HSSFSheet sheet = hssfWorkbook.createSheet(sheetName);
        // 3.在sheet中添加表头第0行,也就是标题行
        HSSFRow row = sheet.createRow(0);
        // 4.创建单元格,并设置单元格格式
        HSSFCellStyle cellStyle = hssfWorkbook.createCellStyle();
        cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//样式为中心水平对齐
        
        //5.创建列单元格
        for (int i = 0; i < title.length; i++) {
            HSSFCell cell = row.createCell(i);
            cell.setCellValue(title[i]);
            cell.setCellStyle(cellStyle);
        }//表头

        for (int y = 0; y < list.size(); y++) {
            HSSFRow row1 = sheet.createRow(y + 1);//创建行
            List<String> strings = list.get(y);
            for (int x = 0; x < title.length; x++) {
                HSSFCell cell = row1.createCell(x);
                cell.setCellValue(strings.get(x));
                cell.setCellStyle(cellStyle);//创建列
            }
        }

        File file = new File("C:\\Users\\bxk\\Desktop\\" + fileName);
        OutputStream outputStream = new FileOutputStream(file);
        hssfWorkbook.write(outputStream);
        outputStream.flush();
        outputStream.close();
    }

 3.具体介绍

3.1文件信息

        //1.标题
        String[] title = {"招聘名称", "投递邮箱", "信息来源", "信息城市", "来源网站"};
        //2.文件名
        String fileName = new String("企业邮箱信息.xls".getBytes(), "utf-8");
        //3.sheet名
        String sheetName = new String("梧桐果、海投网、我司企业邮箱信息".getBytes(), "utf-8");

 

3.2 创建WorkBook

 HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); //对应一个Excel文件

 

 

  demo:如下文就可以生成一个空白的、名为workbook的xlsk文档。注意当文件名为中文的时候可能会出现乱码。使用 new String("中文","utf-8") ,将解决乱码问题。

HSSFWorkbook wb = new XSSFWorkbook(); try (OutputStream fileOut = new FileOutputStream("workbook.xlsx")) { wb.write(fileOut); }

 

3.3创建Sheet

HSSFSheet sheet = hssfWorkbook.createSheet(sheetName);//对应Excel文件中的sheet   其中sheetName不能为 "" ,不能为 Null

 

String safeName = WorkbookUtil.createSafeSheetName("");//这样创建的sheetName ""会转化为empty,null会转化为“null

 

这个sheet我当时也找了好一会,可能是实在是不熟悉Excel。sheet就表示excel中的某一张表,当然既然是表,就会有表名。所以sheetName的作用就是显示表名。上截图解释具体位置。

技术分享图片

 

 

 

 

 

 

打开官网(上面有链接)——API介绍(Component)——快速指南(Quick Guide) 也能看到详细的例子和解释。

技术分享图片

 

POI导出excel学习

标签:来源   文件中   src   技术   企业邮箱   quick   ima   empty   创建   

原文地址:https://www.cnblogs.com/miaoww/p/9337349.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!