zoukankan      html  css  js  c++  java
  • POI操作Excel

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

      结构:
      • HSSF - 提供读写Microsoft Excel格式档案的功能。
      • XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
      • HWPF - 提供读写Microsoft Word格式档案的功能。
      • HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
      • HDGF - 提供读写Microsoft Visio格式档案的功能。

      使用必须引入依赖

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.15</version>
    </dependency>

    1.写入Excel2003版本

     /**
         * 写入excel的方法, 07之前的版本,文件类型为.xls
         *   07及07之后的版本,文件类型为.xlsx
         * @throws Exception
         */
        public static void writeExcel03() throws Exception{
            /*
             *
             * 这是最基本的创建excel的方法,所有的值都给的固定值。
             *
             */
            //创建新excel文档,07版本之前均可以这么写
            HSSFWorkbook workbook = new HSSFWorkbook();
            //新建工作表
            HSSFSheet sheet = workbook.createSheet("test");
            //新建行
            HSSFRow row = sheet.createRow(0);
            //取第一行第一列
            HSSFCell cell = row.createCell(0);
            //给第一行第一列赋值
            cell.setCellValue("我是谁?");
            //将新建的工作表保存到硬盘中
            FileOutputStream fos = new FileOutputStream(new File("C:\Users\admin\Desktop\aa.xls"));
            workbook.write(fos);
            fos.close();
    
    
        }
    

      

    2.写入Excel2007版本

    /*
         * 创建07及以后excel的写法
         *
         * */
        public static void writeExcel07() throws Exception{
    
            /*
             * 创建07之后的版本使用的工厂类为XSSFWorkbook
             *
             * */
            //创建新表格文件
            XSSFWorkbook workbook = new XSSFWorkbook();
            //创建新表单
            XSSFSheet sheet = workbook.createSheet("test07");
            //创建sheet表单中的行
            XSSFRow row = sheet.createRow(0);
            //选取行中对应的列
            XSSFCell cell = row.createCell(0);
            //给对应的列中赋值
            cell.setCellValue("test");
            //输出创建的文件,存储到硬盘中
            FileOutputStream fos = new FileOutputStream(new File("C:\Users\admin\Desktop\test.xlsx"));
            //workbook的write方法调用,不能忘啊
            workbook.write(fos);
            fos.close();
        }
    

      

    3.读取Excel03以及07版本

        /*
         * 在实际应用中,在读取文件的时候,我们不一定确定读取的excel的具体版本,所以,在输入和输出的语句需要添加判断来让其适应不同的版本
         *
         * */
        public static void readExcel03and07() throws Exception{
            //读取文件的路径
            String filepath = "C:\Users\admin\Desktop\07.xlsx";
    
            //判断文件的格式,
            if(filepath.matches("^.+\.(?i)((xls)|(xlsx))$")){
                FileInputStream fis = new FileInputStream(filepath);
                boolean is03Excel = filepath.matches("^.+\.(?i)((xls))$")?true:false; //判断是2003还是2007
                Workbook workbook = is03Excel ? new HSSFWorkbook(fis):new XSSFWorkbook(fis);
               // Workbook workbook = new XSSFWorkbook(fis);
                Sheet sheet = workbook.getSheetAt(0);
                Row row = sheet.getRow(0);
    
                Cell cell = row.getCell(0);
                System.out.println("第一行第一列的数据是:"+cell.getStringCellValue());
    
    
            }
        }
    

      

  • 相关阅读:
    点击按钮,回到页面顶部的5种写法
    node知识积累
    Python3基础 str ljust-rjust-center 左、右对齐 居中
    Python3基础 str : 对字符串进行切片
    Python3基础 str : 字符串的逆序
    Python3基础 str __add__ 拼接,原字符串不变
    Python3基础 运算 加减乘除、取余数
    Python3基础 只有int类型,没有long类型
    Python3基础 complex 声明复数
    Python3基础 complex real imag __abs__ 取复数的实部 虚部 模
  • 原文地址:https://www.cnblogs.com/wangxiayun/p/9290978.html
Copyright © 2011-2022 走看看