easyexcel使用

1.读取行总数只能使用poi

复制代码
		Path excelFilePath = Paths.get(intput);

		// Use WorkbookFactory to create a Workbook object from the file
		Workbook workbook = WorkbookFactory.create(excelFilePath.toFile());

		// Iterate over each sheet in the workbook
		for (Sheet sheet : workbook) {
			// Print sheet name
			System.out.println("Sheet Name: " + sheet.getSheetName());

			// Get the number of rows in the sheet
			int rowCount = sheet.getPhysicalNumberOfRows();
			System.out.println("Number of Rows: " + rowCount);
		}

		// Close the workbook to release resources
		workbook.close();
	}

2.读取第一行

复制代码
	EasyExcel.read(inputPath,clazz, new ReadListener<ExcelChecker>() {
			@Override
			public void invoke(ExcelChecker data, AnalysisContext context) {
				firstData[0] = data;
				throw new ExcelAnalysisStopException("只读取第一行数据"); //只能通过异常打断
			}

			@Override
			public void doAfterAllAnalysed(AnalysisContext context) {

			}
		}).head(clazz).charset(StandardCharsets.UTF_8).sheet().headRowNumber(0).doRea()

3.读取csv默认支持该格式

4.csv处理数据内的换行符

@ContentStyle(wrapped = BooleanEnum.TRUE)

wrapp处理列值本身有可能出现换行的,因为csv默认以换行符为一条完整的行数据,但是如何数据本身也换行了,就需要特殊处理,即在数据外围增加"",此时解析的对象也需要增加属性

easyexcel本身支持的一些属性注解:https://blog.csdn.net/cccsssrrr/article/details/127813042?spm=1001.2014.3001.5502

5.csv数据行内前后有空格默认会被自动去掉,需要增加autotrim属性

复制代码
	EasyExcel.read(reqDTO.getReadPath(), clz,
					new PageReadListener0(new ExecelCheckConsumer(this, callbackEvery), readBatchSize, this,
							callbackEvery))
					.charset(StandardCharsets.UTF_8)
					.sheet()
					.autoTrim(false) // 不自动去除首尾空格
					.doRead();
相关推荐
方也_arkling4 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮4 小时前
Spring Bean作用域与生命周期全解析
java·spring
Chengbei114 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1124 小时前
web-第一次课后作业
java·开发语言·idea
秋94 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本4 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
DIY源码阁5 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
basketball6166 小时前
C++ NULL 和 nullptr 区别 以及 nullptr 的核心实现
java·开发语言·c++
JAVA面经实录9176 小时前
MyBatis面试题库
java·mybatis
小江的记录本6 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试