• JAVA POI 应用系列(1)--生成Excel


    POI简介(官网:http://poi.apache.org/


        Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。自2009-09-28后,推出了3.5版本,提供了对Office2007的支持;

    关于Apache POI一些重要的地方:


    1)Apache POI 包含适合Excel97-2007(.xls文件)的HSSF实现.
    2)Apache POI XSSF实现用来处理Excel2007文件(.xlsx).
    3)Apache POI HSSF和XSSF提供了读/写/修改Excel表格的机制.
    4)Apache POI 提供了XSSF的一个扩展SXSSF用来处理非常大的Excel工作单元.SXSSF API需要更少的内存,因此当处理非常大的电子表格同时堆内存又有限时,很合适使用.
    5)有两种模式可供选择--事件模式和用户模式.事件模式要求更少的内存,因为用tokens来读取Excel并处理.用户模式更加面向对象并且容易使用,因此在我们的示例中使用用户   模式.
    6)Apache POI为额外的Excel特性提供了强大支持,例如处理公式,创建单元格样式--颜色,边框,字体,头部,脚部,数据验证,图像,超链接等.  

     添加maven依赖:

     1 <!--  操作excel,doc... -->
     2     <dependency>  
     3     <groupId>org.apache.poi</groupId>  
     4     <artifactId>poi</artifactId>  
     5     <version>3.10-FINAL</version>  
     6 </dependency>  
     7     <dependency>  
     8     <groupId>org.apache.poi</groupId>  
     9     <artifactId>poi-ooxml</artifactId>  
    10     <version>3.10-FINAL</version>  
    11 </dependency>

    代码如下:

     1 package com.yanwu.www.spring_hibernate.util;
     2 
     3 import java.io.FileOutputStream;
     4 import java.io.IOException;
     5 
     6 import org.apache.poi.hssf.usermodel.HSSFCell;
     7 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
     8 import org.apache.poi.hssf.usermodel.HSSFRow;
     9 import org.apache.poi.hssf.usermodel.HSSFSheet;
    10 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    11 
    12 public class SimpleExcelWrite{
    13     
    14     public static void main(String[] args) {
    15         
    16         //第一步创建workbook  
    17         HSSFWorkbook wb = new HSSFWorkbook();  
    18           
    19         //第二步创建sheet  
    20         HSSFSheet sheet = wb.createSheet("测试");  
    21           
    22         //第三步创建行row:添加表头0行  
    23         HSSFRow row = sheet.createRow(0);  
    24         HSSFCellStyle  style = wb.createCellStyle();      
    25         //style.setAlignment(HSSFCellStyle.ALIGN_CENTER);  //居中  
    26           
    27           
    28         //第四步创建单元格  
    29         HSSFCell cell = row.createCell(0); //第一个单元格  
    30         cell.setCellValue("姓名");  
    31         cell.setCellStyle(style);  
    32         
    33         
    34         
    35         cell = row.createCell(1);         //第二个单元格     
    36         cell.setCellValue("年龄");  
    37         cell.setCellStyle(style);  
    38           
    39        
    40         //第五步插入数据  
    41        
    42         for (int i = 0; i < 5; i++) {  
    43             //创建行  
    44             row = sheet.createRow(i+1);  
    45             //创建单元格并且添加数据  
    46             row.createCell(0).setCellValue("aa"+i);  
    47             row.createCell(1).setCellValue(i);  
    48             
    49         }  
    50           
    51         //第六步将生成excel文件保存到指定路径下  
    52         try {  
    53             FileOutputStream fout = new FileOutputStream("C:\Users\IBM_ADMIN\Desktop\promotion\a.xls");  
    54             wb.write(fout);  
    55             fout.close();  
    56         } catch (IOException e) {  
    57             e.printStackTrace();  
    58         }  
    59           
    60         System.out.println("Excel文件生成成功...");  
    61     }  
    62       
    63 
    64         
    65     }
    66     
    67     
    68     
    69     

    效果:

  • 相关阅读:
    supervisor启动错误解决(二)
    删除文件某行
    离线安装
    docker中/var/lib/docker目录迁移
    if else 使用
    Django views函数添加装饰器
    Netty4
    Fast DFS(二)
    Fast DFS(一)
    SpringBoot和app之间跨域问题
  • 原文地址:https://www.cnblogs.com/harvey2017/p/6912238.html
Copyright © 2020-2023  润新知