zoukankan      html  css  js  c++  java
  • JAVA-使用POI读写EXCEL

    使用APACHE下的POI读写EXCEL

    内容出处https://study.163.com/course/courseMain.htm?courseId=1209288803

    APACHE官网连接

    https://apache.org/

    POI下载地址

    http://poi.apache.org/

     API帮助地址

    http://poi.apache.org/components/index.html

    快速入门小例子

    http://poi.apache.org/components/spreadsheet/quick-guide.html

    下载下来的压缩包

    解压缩后

     jar包和docs离线API帮助

    搭建环境

    1.新建一个Java Project项目

     

     

     新建一个包

     

     新建一个类

     

     将POI的jar包导入到eclipse项目中

    1.新建个文件夹

     

     拷贝jar包

     

     

     ooxml下面的jar包也加进去

     

     在新建一个lib文件夹放另外一堆jar包

     

     将jar包全部加到项目中

    全部选中-Build Path-Add to Build Path

     加入之后jar包会产生变化

     在把上面lib文件夹里的jar包也添加一下

     

     开始写代码

    EXCEL 97-03版本是用.xls后缀

    07-19版本是用.xlsx后缀

    对应的是两套函数方法

     以上例子出处http://poi.apache.org/components/spreadsheet/quick-guide.html#NewWorkbook

    创建EXCEL,写入内容。源代码

    package my;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    
    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.CellType;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.ss.usermodel.Workbook;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    public class test
    {
    
        public static void main(String[] args)
        {
            // TODO Auto-generated method stub
            System.out.println("开始");
            
            //EXCEL路径
            File file = new File("D:\1\2\123.xlsx");
            
            //新建一个EXCEL
            Workbook wb = new XSSFWorkbook();
            
            //添加sheet
            org.apache.poi.ss.usermodel.Sheet sheet1 = wb.createSheet("第一页");
            org.apache.poi.ss.usermodel.Sheet sheet2 = wb.createSheet("第二页");
            
            //创建第一行
            Row sheet1Row = sheet1.createRow(0);
            
            //创建第一个单元格
            Cell sheet1Cell = sheet1Row.createCell(0);
            
            //设置单元格类型
            sheet1Cell.setCellType(CellType.STRING);
            
            //写入内容
            sheet1Cell.setCellValue("a test 大傻逼");
            
            //保存EXCEL
            try            
            {
                OutputStream fileOut = new FileOutputStream(file);
                wb.write(fileOut);
                fileOut.close();
            } catch (Exception e)
            {
                e.printStackTrace();
            }
            
            System.out.println("结束");
                    
        }
    
    }

    演示

    打开EXCEL,读取内容。源代码

    package my;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;
    
    import org.apache.poi.sl.usermodel.Sheet;
    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.ss.usermodel.Workbook;
    import org.apache.poi.ss.usermodel.WorkbookFactory;
    
    public class test
    {
    
        public static void main(String[] args)
        {
            // TODO Auto-generated method stub
            System.out.println("开始");
            
            //EXCEL路径
            File file = new File("D:\1\2\123.xlsx");
                
            try            
            {
                InputStream inp = new FileInputStream(file);
                //打开一个EXCEL
                Workbook wb = WorkbookFactory.create(inp);
                
                //获得第一个sheet
                org.apache.poi.ss.usermodel.Sheet sheet = wb.getSheetAt(0);
                
    //            //获得第一行
    //            Row row = sheet.getRow(0);
    //            
    //            //获得第一个单元格
    //            Cell cell = row.getCell(0);
    //            
    //            //获得单元格的内容
    //            String value = cell.getStringCellValue();
    //            
    //            //打印
    //            System.out.println(value);
                
                //获得总行数
                int rowNum = sheet.getLastRowNum();
                //遍历第一列的单元格内容
                for(int i=0;i<rowNum;i++)
                {
                    Row row = sheet.getRow(i);
                    //获得第一个单元格
                    Cell cell = row.getCell(0);
                    //获得单元格的内容
                    String value = cell.getStringCellValue();
                    
                    //打印
                    System.out.println(value);
                }
                
                
    //            //遍历所有sheet的所有行和单元格
    //            for(org.apache.poi.ss.usermodel.Sheet sheet : wb)
    //            {
    //                for(Row row : sheet)
    //                {
    //                    for(Cell cell : row)
    //                    {
    //                        //打印每个单元格内容
    //                        System.out.println(cell.getStringCellValue());    
    //                    }        
    //                }        
    //            }
                        
                    
            } catch (Exception e)
            {
                e.printStackTrace();
            }
            
            System.out.println("结束");
                    
        }
    
    }

    演示

    更多的API用法去看例子

    http://poi.apache.org/components/spreadsheet/quick-guide.html#Iterator

     离线API

    程序员阿飞

    2021年5月19日

    作者: 阿飞

    出处: https://www.cnblogs.com/nxopen2018/>

    关于作者:专注NX开发、VC++开发、数据库、三维建模领域,请多多赐教!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可留言(博客文章底部留言)咨询.

  • 相关阅读:
    OO第三单元作业总结
    OO第二单元作业总结
    OO第一单元总结
    OO第四单元总结
    OO第三单元总结
    OO第二单元总结
    OO第一单元总结
    OO Unit4 总结
    OO Unit3 总结
    OO Unit2 总结
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/14787443.html
Copyright © 2011-2022 走看看