首页 > 编程语言 >java分批读取excel中数据处理

java分批读取excel中数据处理

时间:2024-07-05 10:54:03浏览次数:18  
标签:java 读取 batchStart excel System cell out


  java分批读取excel中数据处理

在Java中,可以使用Apache POI库来读取和处理Excel数据。以下是一个简单的例子,展示了如何分批次读取Excel文件中的数据。

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
 
public class ExcelBatchRead {
    public static void main(String[] args) throws IOException {
        FileInputStream inputStream = new FileInputStream("example.xlsx");
        Workbook workbook = new XSSFWorkbook(inputStream);
        Sheet sheet = workbook.getSheetAt(0);
 
        int batchSize = 100; // 设定批次大小
        int batchStart = 0; // 当前批次开始行
        int batchEnd = batchStart + batchSize; // 当前批次结束行
 
        while (batchStart < sheet.getLastRowNum()) {
            // 处理当前批次的数据
            for (int i = batchStart; i < batchEnd && i < sheet.getLastRowNum(); i++) {
                Row row = sheet.getRow(i);
                if (row != null) {
                    // 读取行数据并处理
                    Iterator<Cell> cellIterator = row.iterator();
                    while (cellIterator.hasNext()) {
                        Cell cell = cellIterator.next();
                        // 读取单元格数据
                        switch (cell.getCellTypeEnum()) {
                            case STRING:
                                System.out.print(cell.getStringCellValue() + "\t");
                                break;
                            case NUMERIC:
                                System.out.print(cell.getNumericCellValue() + "\t");
                                break;
                            case BOOLEAN:
                                System.out.print(cell.getBooleanCellValue() + "\t");
                                break;
                            case FORMULA:
                                System.out.print(cell.getCellFormula() + "\t");
                                break;
                            default: break;
                        }
                    }
                    System.out.println();
                }
            }
 
            // 更新批次边界
            batchStart += batchSize;
            batchEnd = batchStart + batchSize;
        }
 
        workbook.close();
        inputStream.close();
    }
}

  

标签:java,读取,batchStart,excel,System,cell,out
From: https://www.cnblogs.com/xianz666/p/18285345

相关文章

  • 使用EasyExcel的AnalysisEventListener读取EXCEL导入数据
    1、实体对象VOimportcom.alibaba.excel.annotation.ExcelProperty;importlombok.Data;@DatapublicclassPrizeLogImportExcelVO{@ExcelProperty("订单编号")privateStringprizeSn;@ExcelProperty("快递公司")privateStringexpressN......
  • 邮件显示统计图表echarts-java+phantomjs实现
    邮件显示统计图表echarts-java+phantomjs实现项目背景是产品业务上的订阅推送,纯java后端实现,通过邮件将统计报表发送给用户。这里会涉及一些关键点:首先是统计图表的生成,我们采用常见的echarts,简单易用,支持图表类型丰富美观;java后端实现可使用echarts-java来实现图表的生成......
  • BeanUtil复制时,两对象中数据类型不一致导致的问题Can not set java.time.LocalDateTim
    @DatapublicclassAVo{privateLongendTime;privateStringname;privateStringid;}@DatapublicclassABVo{privateLocalDateTimeendTime;privateStringname;privateStringid;}AVoaVo=newAVo();......
  • 一些java中记忆的问题
    什么是封装封装是将对象的属性和方法(或称为成员)结合成一个独立的单元,隐藏对象的属性和实现细节,仅对外公开接口(方法)与对象进行交互。链表数据结构链表是一种常见的数据结构,它由一系列节点(Node)组成,每个节点包含数据和一个或多个指向其他节点的引用(即指针)。与数组不同,链表中......
  • Java程序基础
    类名要求:类名必须以英文字母开头,后接字母,数字和下划线的组合习惯以大写字母开头要注意遵守命名习惯,好的类命名:HelloNoteBookVRPlayer不好的类命名:helloGood123Note_Book_World注意到public是访问修饰符,表示该class是公开的。不写public,也能正确编译,但是这个类......
  • Java_MyBatis框架:MyBatis框架
    MyBatis的执行流程先加载配置文件再通过SqlSessionFactoryBuilder创建SqlSessionFactory对象获取SqlSession生成代理对象执行Excutor匹配执行SQL语句MyBatis的一级缓存和二级缓存一级缓存:也叫SqlSession级缓存,无需手动开启,可直接使用,为每个SqlSession单独分配的缓存空间,......
  • Java_多线程:线程池
    1、线程池优点:降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性:线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一......
  • 艾宾浩斯遗忘曲线复习计划表Excel下载
    艾宾浩斯遗忘曲线复习计划表Excel下载 改造自贵乎大神的Excel:艾宾浩斯遗忘曲线怎么用?链接:https://pan.baidu.com/s/1rqQLOPXAxTxDs_Tk9fIN5A提取码:u53x如果失效了,记得提醒我 日期:是从今天2020/11/02计划到2025/05/26用法:不要修改或删除任何日期(任何一行都不要删除掉......
  • 基于Java+SpringBoot+Vue的学生宿舍管理系统的设计与开发(源码+lw+部署文档+讲解等)
    文章目录前言项目背景介绍技术栈后端框架SpringBoot前端框架Vue数据库MySQL(MyStructuredQueryLanguage)具体实现截图详细视频演示系统测试系统测试目的系统功能测试系统测试结论代码参考数据库参考源码获取前言......
  • 什么是构造函数?Java 中构造函数的重载如何实现?
    构造函数,就像是建筑房屋时的奠基仪式,是Java类中一个特殊的方法,主要用于初始化新创建的对象。每当创建一个类的新实例时,构造函数就会自动调用,负责为这个新对象分配内存,并对其进行必要的设置,确保对象处于可用状态。它有着与类同名的特殊身份,没有返回类型,甚至连void也不需要声明......