栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Excel POI

Excel POI

Excel POI

maven依赖如下

        
            org.apache.poi
            poi
            4.1.2
        


        
        
            org.apache.poi
            poi-ooxml
            4.1.2
        

        
        
            joda-time
            joda-time
            2.10.1
        
1.创建普通工作表 1.1 2003版本
//1.创建工作表/工作簿 Excel2003需要这个处理类HSSFWorkbook
        Workbook wb = new HSSFWorkbook();
        //2.创建Sheet页
        Sheet sheet = wb.createSheet("疫苗统计");
        //3.创建行
        Row row0 = sheet.createRow(0);
        //4.创建单元格
        row0.createCell(0).setCellValue("今日人数");
        row0.createCell(1).setCellValue("666");
        //4.创建另外一行
        Row row1 = sheet.createRow(1);
        row1.createCell(0).setCellValue("统计时间");
        row1.createCell(1).setCellValue(new DateTime().toString("YYYY-MM-dd HH:mm:ss"));
        //将文件输入到指定目录中>
        FileOutputStream fos = new FileOutputStream("G:/excel2003Data.xls");
        wb.write(fos);
        //释放资源
        fos.close();
        wb.close();
1.2 2007版本
 //1.创建工作表/工作簿 Excel2007需要这个处理类XSSFWorkbook
        Workbook wb = new XSSFWorkbook();
        //2.创建Sheet页
        Sheet sheet = wb.createSheet("疫苗统计2007");
        //3.创建行
        Row row0 = sheet.createRow(0);
        //4.创建单元格
        row0.createCell(0).setCellValue("今日人数");
        row0.createCell(1).setCellValue("666");
        //4.创建另外一行
        Row row1 = sheet.createRow(1);
        row1.createCell(0).setCellValue("统计时间");
        row1.createCell(1).setCellValue(new DateTime().toString("YYYY-MM-dd HH:mm:ss"));
        //将文件输入到指定目录中>
        FileOutputStream fos = new FileOutputStream("G:/excel2007Data.xlsx");
        wb.write(fos);
        //释放资源
        fos.close();
        wb.close();

两者区别是:用于2003的类是:HSSFWorkbook,用于2007的类是XSSFWorkbook

2.创建大文件工作表

2003版本只支持65536行数据,而2007版本支持的行数看系统分配的内存多少

2.1 2007快速创建大文件工作表
//1.创建工作表/工作簿 Excel2003需要这个处理类HSSFWorkbook
        SXSSFWorkbook wb = new SXSSFWorkbook();
        //2.创建Sheet页
        Sheet sheet = wb.createSheet("疫苗统计");
        for(int i=0;i<65537;i++){
            Row row = sheet.createRow(i);
            row.createCell(0).setCellValue("66666");
        }
        //将文件输入到指定目录中>
        FileOutputStream fos = new FileOutputStream("G:/excel2007BigDataFast.xlsx");
        wb.write(fos);
        //释放临时文件
        wb.dispose();
        //释放资源
        fos.close();
        wb.close();

快速大文件类:SXSSFWorkbook

3.读取工作表

两个版本的excel读取方式几乎一致,区别只是new的类不同,需要把文件输入流对象放进构造器

 FileInputStream fis = new FileInputStream("G:/商品信息表.xlsx");
        Workbook wb = new XSSFWorkbook(fis);
        Sheet sheet = wb.getSheetAt(0);
        Row row = sheet.getRow(1);
        short cellIndex = row.getLastCellNum();
        for(int i=0;i
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/742328.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号