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

Java写Excel ,各种版本

Java写Excel ,各种版本

文章目录

一、Java操作写入普通的03和07版本的Excel二、关于03和07版本的大数据写入并比较时间三、07版本升级版的写入(SXSSFWorkbook)用到的pom文件

一、Java操作写入普通的03和07版本的Excel
 String  PATH="/公共路径/";
    @Test
    public void testWrite03() throws Exception {
        //1,创建一个工作簿
        Workbook workbook=new HSSFWorkbook();
        //2.创建一个工作表
        Sheet sheet=workbook.createSheet("普通的统计表");
        //3,创建一个行(1.1)
        Row row1=sheet.createRow(0);
        //4.创建一个单元格
        Cell cell11 = row1.createCell(0);
        cell11.setCellValue("第一行第一列标题");
        //(1.2)
        Cell cell12 = row1.createCell(1);
        cell12.setCellValue("12");
        // 第二行
        Row row2 = sheet.createRow(1);
        Cell cell21 = row2.createCell(0);
        cell21.setCellValue("第二行第一列标题时间");

        Cell cell22 = row2.createCell(1);
        String times = new DateTime().toString("yyyy-MM-dd HH:mm:ss");
        cell22.setCellValue(times);

        //生成一张表
        FileOutputStream fileOutputStream = new FileOutputStream(PATH+"普通03的统计表03.xls");
        //输出
        workbook.write(fileOutputStream);
        //关闭留
        fileOutputStream.close();
        System.out.println("生成成功");
    }
    @Test
    public void testWrite07() throws Exception {
        //1,创建一个工作簿
        Workbook workbook=new XSSFWorkbook();
        //2.创建一个工作表
        Sheet sheet=workbook.createSheet("普通07统计表");
        //3,创建一个行(1.1)
        Row row1=sheet.createRow(0);
        //4.创建一个单元格
        Cell cell11 = row1.createCell(0);
        cell11.setCellValue("第一行第一列标题");
        //(1.2)
        Cell cell12 = row1.createCell(1);
        cell12.setCellValue("12");
        // 第二行
        Row row2 = sheet.createRow(1);
        Cell cell21 = row2.createCell(0);
        cell21.setCellValue("第二行第一列标题时间");

        Cell cell22 = row2.createCell(1);
        String times = new DateTime().toString("yyyy-MM-dd HH:mm:ss");
        cell22.setCellValue(times);

        //生成一张表(IO流)
        FileOutputStream fileOutputStream = new FileOutputStream(PATH+"普通07版本的统计表07.xlsx");
        //输出
        workbook.write(fileOutputStream);
        //关闭留
        fileOutputStream.close();
        System.out.println("生成成功");
    }
二、关于03和07版本的大数据写入并比较时间
 String  PATH="/公共路径/";
@Test
    public void  testWrite03BigData() throws Exception {
        //用了多少时间
        long begin=System.currentTimeMillis();
        //创建一个工作簿
        Workbook workbook = new HSSFWorkbook();
        //创建一张表
        Sheet sheet = workbook.createSheet();
        //写入数据
        for (int rowNum=0;rowNum<65536;rowNum++){
            Row row = sheet.createRow(rowNum);
            for (int cellNum=0;cellNum<10;cellNum++){
                Cell cell = row.createCell(cellNum);
                cell.setCellValue(cellNum);
            }
        }
        System.out.println("over");
        FileOutputStream fileOutputStream = new FileOutputStream(PATH+"testWrite03BigData大数据03.xls");
        workbook.write(fileOutputStream);
        fileOutputStream.close();
        long end=System.currentTimeMillis();
        System.out.println((double) (end-begin)/1000);
    }
    //耗时较长,优化
    @Test
    public void  testWrite07BigData() throws Exception {
        //耗时较长
        //用了多少时间
        long begin=System.currentTimeMillis();
        //创建一个工作簿
        Workbook workbook = new XSSFWorkbook();
        //创建一张表
        Sheet sheet = workbook.createSheet();
        //写入数据
        for (int rowNum=0;rowNum<65537;rowNum++){
            Row row = sheet.createRow(rowNum);
            for (int cellNum=0;cellNum<10;cellNum++){
                Cell cell = row.createCell(cellNum);
                cell.setCellValue(cellNum);
            }
        }
        System.out.println("over");
        FileOutputStream fileOutputStream = new FileOutputStream(PATH+"testWrite07BigData大数据07.xlsx");
        workbook.write(fileOutputStream);
        fileOutputStream.close();
        long end=System.currentTimeMillis();
        System.out.println((double) (end-begin)/1000);
    }
三、07版本升级版的写入(SXSSFWorkbook)
 String  PATH="/公共路径/";
 @Test
    public void  testWrite07BigDataS() throws Exception {
        //耗时较长
        //用了多少时间
        long begin=System.currentTimeMillis();
        //创建一个工作簿
        Workbook workbook = new SXSSFWorkbook();
        //创建一张表
        Sheet sheet = workbook.createSheet();
        //写入数据
        for (int rowNum=0;rowNum<65537;rowNum++){
            Row row = sheet.createRow(rowNum);
            for (int cellNum=0;cellNum<10;cellNum++){
                Cell cell = row.createCell(cellNum);
                cell.setCellValue(cellNum);
            }
        }
        System.out.println("over");
        FileOutputStream fileOutputStream = new FileOutputStream(PATH+"testWrite07BigDataS大数据07.xlsx");
        workbook.write(fileOutputStream);
        fileOutputStream.close();
        //清除临时文件
        ((SXSSFWorkbook) workbook).dispose();
        long end=System.currentTimeMillis();
        System.out.println((double) (end-begin)/1000);
    }
用到的pom文件
      
            org.apache.poi
            poi
            3.9
        

        
            org.apache.poi
            poi-ooxml
            3.9
        
        
        
            joda-time
            joda-time
            2.10.1
        
        
        
            junit
            junit
            4.12
        
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/745718.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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