ExcelUtils
2024-08-28 22:32:35
本ExcelUtils工具类是用poi写的,仅用于线下从excel文件中读取数据。如果生产环境要用的话,建议切换到阿里的easyexcel。
引入poi.jar:
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.1</version> </dependency>
ExcelUtils:
import java.io.FileInputStream; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; 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.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelUtils { public static void readExcel(String sourceFilePath) { Workbook workbook = null; StringBuilder sb = new StringBuilder(); try { workbook = getReadWorkBookType(sourceFilePath); //获取第一个sheet Sheet sheet = workbook.getSheetAt(0); //第一行是表头,从第二行开始读取 for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) { Row row = sheet.getRow(rowNum); Cell cell = row.getCell(0); sb.append(getCellStringVal(cell).trim()); } } finally { IOUtils.closeQuietly(workbook); } System.out.println(sb.toString()); } private static String getCellStringVal(Cell cell) { CellType cellType = cell.getCellTypeEnum(); switch (cellType) { case NUMERIC: return cell.getStringCellValue(); case STRING: return cell.getStringCellValue(); case BOOLEAN: return String.valueOf(cell.getBooleanCellValue()); case FORMULA: return cell.getCellFormula(); case BLANK: return ""; case ERROR: return String.valueOf(cell.getErrorCellValue()); default: return StringUtils.EMPTY; } } private static Workbook getReadWorkBookType(String filePath) { FileInputStream is = null; try { is = new FileInputStream(filePath); if (filePath.toLowerCase().endsWith("xlsx")) { return new XSSFWorkbook(is); } else { return new HSSFWorkbook(is); } } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(is); } return null; } public static void main(String[] args) { readExcel("/Users/koushengrui/Desktop/ksPhotoId.xlsx"); } }
最新文章
- JUnit笔记
- WPF CAL 计算器
- iOS-Xcode上传后iTunes Connect构建版本不显示
- Windows Storage Server 2008 R2 Standard(64位)之ASM(Automated Storage Manager)管理
- sqlserver 关于快照
- M - Escape - HDU 3605 - (缩点+最大流SAP)
- linux for 使用
- MySQL长短密码
- 搭建Hadoop集群(centos6.7+hadoop-2.7.3)
- git使用步骤_2017
- mongodb安装和运行
- slice.indices()/collections.Counter笔记
- python json (loads(),load(),jump(),jumps())
- Ubuntu16.04安装Mininet
- 在CentOS Linux下部署Activemq 5
- Java的JDK和JRE
- WEB入门三	CSS样式表基础
- git branch 误删 分支 找回
- Struts2学习笔记02 之 使用
- silverlight计时器
热门文章
- cocos creator 3D | 拇指投篮 | 3D项目入门实战
- SQL中前置0和后置0的处理问题
- olap和Oltp(转)
- 小记---------有关hadoop的HDFS命令行操作
- Hive Error : Java heap space 解决方案
- 重写移动端滚动条[iScroll.js核心代码]
- [Vue] vue的一些面试题4
- 11.AutoMapper 之值转换器(Value Transformers)
- Jquery复习(八)之遍历
- Fliter设置字符编码,解决中文问题