Java - Poi 操作 Excel
Java - Poi 操作 Excel
关注 “弋凡”(YiFan)微信公众号吧 记录简单笔记 做你的最爱
注意
- XSSFWorkbook 对象是操作 .xlsx 格式的表格
- HSSFWorkbook 对象是操作 .xls 格式的表格
- xls格式 <= 65536 行
- xlsx格式 > 65536 行
导入pom文件
<!-- .xlsx格式 7版本--><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency>
<!-- 日期格式化工具!--><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.10.1</version></dependency>
写入数据
public static void main(String[] args) throws Exception {String PATH = "E:/IDEA_Project/hzmv/";// 创建一个 ExcelWorkbook workbook = new XSSFWorkbook();// 创建一个工作表Sheet sheet = workbook.createSheet("HZMV~数据源");// 创建一行Row row1 = sheet.createRow(0);// 创建一个单元格 (1,1)Cell cell1 = row1.createCell(0);cell1.setCellValue("链接");//(1,2)Cell cell2 = row1.createCell(1);cell2.setCellValue("格式");// 创建一行Row row2 = sheet.createRow(1);Cell cell3 = row2.createCell(0);String time = new DateTime().toString("yyyy-MM-dd HH:mm:ss");cell3.setCellValue(time);// 生成一张表(io流)FileOutputStream stream = new FileOutputStream(PATH + "hzmv数据源.xlsx");workbook.write(stream);stream.close();System.err.println("hzmv数据源生产完毕~");}
读取数据
public static void main(String[] args) throws Exception {String PATH = "E:/IDEA_Project/hzmv/";// 获取文件流FileInputStream inputStream = new FileInputStream(PATH + "hzmv数据源.xlsx");// 创建一个工作簿 execl能使用的操作 这里都能使用Workbook workbook = new XSSFWorkbook(inputStream);// 拿到第一个表Sheet sheetAt = workbook.getSheetAt(0);System.err.println(sheetAt);// 拿到第行Row row1 = sheetAt.getRow(0);//拿到第一个单元格Cell cell1 = row1.getCell(1);// 读取的时候一定要注意数据类型/** getStringCellValue 字符串类型* getNumericCellValue 数字类型* */System.err.println(cell1.getStringCellValue());
}
读取数据及判断数据类型 *
public static void main(String[] args) throws Exception {String PATH = "E:/IDEA_Project/hzmv/";// 获取文件流FileInputStream inputStream = new FileInputStream(PATH + "hzmv数据源.xlsx");// 创建一个工作簿 execl能使用的操作 这里都能使用Workbook workbook = new XSSFWorkbook(inputStream);// 拿到第一个表Sheet sheetAt = workbook.getSheetAt(0);// 获取标题内容Row rowTit = sheetAt.getRow(0);if(rowTit != null ){// 得到所有的列~int cellCount = rowTit.getPhysicalNumberOfCells();// 遍历for (int cellnum = 0; cellnum < cellCount ; cellnum++) {// 得到单元格Cell cell = rowTit.getCell(cellnum);if(cell != null ){CellType cellType = cell.getCellType();String cellValue = "";switch (cellType){case _NONE:break;case NUMERIC:cellValue = String.valueOf(cell.getNumericCellValue());break;case STRING :cellValue = cell.getStringCellValue();break;case FORMULA:break;case BLANK:break;case BOOLEAN:cellValue = String.valueOf(cell.getBooleanCellValue());break;case ERROR:break;}System.err.print(cellValue+"->"+cellType+" | ");}}}System.err.println();// 获取表中的内容int rowCount = sheetAt.getPhysicalNumberOfRows();for (int rownum = 1; rownum < rowCount ; rownum++) {Row rowData = sheetAt.getRow(rownum);if(rowData != null){// 得到所有的列int cellCount = rowData.getPhysicalNumberOfCells();for (int cellnum = 0; cellnum < cellCount ; cellnum++) {// 得到每个单元格Cell cell = rowData.getCell(cellnum);if(cell != null ){// 得到每个单元格的数据的类型~CellType cellType = cell.getCellType();String cellValue = "";switch (cellType){case _NONE:cellValue= "null";break;case NUMERIC:// 日期if(DateUtil.isCellDateFormatted(cell)){Date value = cell.getDateCellValue();cellValue = new DateTime(value).toString("yyyy-MM-dd HH:mm:ss");break;}else {cellValue = String.valueOf(cell.getNumericCellValue());break;}case STRING :cellValue = cell.getStringCellValue();break;case FORMULA:break;case BLANK:cellValue= "null";break;case BOOLEAN:cellValue = String.valueOf(cell.getBooleanCellValue());break;case ERROR:cellValue= "error";break;}System.err.print(cellValue+"->"+cellType+" | ");}}System.err.println();}}inputStream.close();
}
运行效果图
数据内容
快来关注“弋凡”微信公众号吧
Java - Poi 操作 Excel相关推荐
- Java poi操作Excel单元格样式
Java poi设置Excel单元格格式设置 XSSFWorkbook xwb = new XSSFWorkbook();或者 XSSFWorkbook xwb = new XSSFWorkbook( ...
- java poi操作excel 添加 锁定单元格保护
Excel的book保护是很常用的,主要是不想让别人修改Excel的时候用.这样能够避免恶意随便修改数据,提高数据的可信度. 下面介绍JAVA POI来实现设置book保护: 使用HSSFSheet类 ...
- java poi 操作Excel 删除行内容和直接删除行
一般情况下,删除行时会面临两种情况:删除行内容但保留行位置.整行删除(删除后下方单元格上移).对应的删除方法分别是: void removeRow(Row row)//Remove a row fro ...
- java poi 操作 excel 读取本地Excel / 保存excel到本地 / url下载excel
pom.xml 配置poi版本 <dependency><groupId>org.apache.poi</groupId><artifactId>poi ...
- java POI操作Excel代码收藏 (包括标题垂直水平居中)
[size=large][color=red][b]1.HSSF 2003版Excel导出[/b][/color][/size] package com.hwt.glmf.common; import ...
- Java POI操作Excel记录
1.在excel中新增行和单元格 首先在excel中指定行之后新增单元格,如果后面还有行数据的话,则需要先执行sheet.shiftRows()操作,将后面的数据往下移动需要新增行的行数.然后再执行s ...
- 利用java poi对excel表的读写操作
2019独角兽企业重金招聘Python工程师标准>>> 利用java poi对excel表的读写操作 POI简介: Apache POI是一种流行的API,它允许程序员使用Java程 ...
- java apache.poi_Java利用apache的POI操作Excel
最近在写一些报表的活,顺便总结下...第一篇博文,希望多多指教. 项目中经常会设计到一些数据的报表问题,目前java中操作Excel的插件也有很多 ,我说下用apache的POI操作Excel的方法. ...
- execle java,Java使用POI操作Excel
Java使用POI操作Excel 1. POI操作Excel 1.1. 依赖 org.apache.poi poi 4.1.0 org.apache.poi poi-ooxml 4.1.0 org.a ...
最新文章
- Windows Phone 7 Tip (4) -- User Agent
- 任务调度利器:Celery
- 边缘使用 K8s 门槛太高?OpenYurt 这个功能帮你快速搭建集群!
- 机器学习实战3--豆瓣读书简介
- 【科普】让人头秃的理论:什么是“奥卡姆剃刀”原理?
- LongAdder分段锁机制
- Docker版本(三)
- 《吃土》读书笔记-笔记初稿
- spring boot源码下载地址
- python包管理机制_Go 1.5之前的多种包管理机制简介(
- 训练日志 2019.1.2
- 如何在GPT分区上安装WIN7
- python数据包分析_python | 数据分析(一)- Numpy数据包
- 降采样_嫦娥五号探测器圆满完成我国首次月球采样返回任务
- Remoting服务集成到IIS的简单总结
- windows server 2003产生的 Minidmp蓝屏文件分析求助
- python not enough arguments_python - not enough arguments for format string
- 计算机组成图解结构图,图解计算机结构与体系分类!!
- 2.1 数字图像处理——图像基础
- 物联网控制的智能LED灯带(1):WS2812灯带控制(WS2812/2811,ESP32,NODE-RED)