maven依赖:

首先在maven中添加:

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.10-FINAL</version></dependency>

读取:

java读取excel的思路很简单,先读取行(HXXFRow类或XSSFRow类),然后得到列(.getRow(列下标)),这样就可以定位一个单元格了

import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileInputStream;
import java.io.InputStream;/**使用例子* ReadExcel excel = new ReadExcel("D:\\myexcel.xlsx");* String[] firstLine = excel.readLine(0);//得到第一行数据* String[] firstLine = excel.readLine(1);//得到第二行数据*/
public class ReadExcel {private HSSFSheet hssfSheet;//.xlsprivate XSSFSheet xssfSheet;//.xlsxpublic int getAllRowNumber() {return xssfSheet.getLastRowNum();}/*读取 excel 下标为 rowNumber 的那一行的全部数据*/public String[] readLine(int rowNumber) {XSSFRow row = xssfSheet.getRow(rowNumber);if (row != null) {String[] resultStr = new String[row.getLastCellNum()];for (int i = 0; i < row.getLastCellNum(); i++) {resultStr[i] = row.getCell(i).getStringCellValue();}return resultStr;}return null;}public ReadExcel(String excelPath) throws Exception {String fileType = excelPath.substring(excelPath.lastIndexOf(".") + 1, excelPath.length());// 创建工作文档对象InputStream in = new FileInputStream(excelPath);HSSFWorkbook hssfWorkbook = null;//.xlsXSSFWorkbook xssfWorkbook = null;//.xlsx//根据后缀创建读取不同类型的excelif (fileType.equals("xls")) {hssfWorkbook = new HSSFWorkbook(in);//它是专门读取.xls的} else if (fileType.equals("xlsx")) {xssfWorkbook = new XSSFWorkbook(in);//它是专门读取.xlsx的} else {throw new Exception("文档格式后缀不正确!!!");}/*这里默认只读取第 1 个sheet*/if (hssfWorkbook != null) {this.hssfSheet = hssfWorkbook.getSheetAt(0);} else if (xssfWorkbook != null) {this.xssfSheet = xssfWorkbook.getSheetAt(0);}}
}

写入:

java写入excel的思路是:

1.先创建一个Workbook类,然后根据想要创建的文档类型来new 不同类型的实例(.xls就是new HSSFWorkbook() , 而.xlsx是new XSSFWorkbook()),

2.创建好文档对象后,创建第一张表(workbook.createSheet("String类型的表名称"))

3.然后在这张表(sheet)中的指定行号中创建行(sheet.createRow(int类型的指定行号))

4.在这行中指定一个列号,用来指定具体单元格的坐标(row.createCell(int类型的列号))

5.写入数据(cell.setCellValue(写入的内容))

package excelUtils;import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
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;import java.io.FileOutputStream;
import java.io.OutputStream;public class WriteExcel {private String pathname;private Workbook workbook;private Sheet sheet1;/**使用栗子* WriteExcel excel = new WriteExcel("D:\\myexcel.xlsx");* excel.write(new String[]{"1","2"}, 0);//在第1行第1个单元格写入1,第一行第二个单元格写入2*/public void write(String[] writeStrings, int rowNumber) throws Exception {//将内容写入指定的行号中Row row = sheet1.createRow(rowNumber);//遍历整行中的列序号for (int j = 0; j < writeStrings.length; j++) {//根据行指定列坐标j,然后在单元格中写入数据Cell cell = row.createCell(j);cell.setCellValue(writeStrings[j]);}OutputStream stream = new FileOutputStream(pathname);workbook.write(stream);stream.close();}public WriteExcel(String excelPath) throws Exception {//在excelPath中需要指定具体的文件名(需要带上.xls或.xlsx的后缀)this.pathname = excelPath;String fileType = excelPath.substring(excelPath.lastIndexOf(".") + 1, excelPath.length());//创建文档对象if (fileType.equals("xls")) {//如果是.xls,就new HSSFWorkbook()workbook = new HSSFWorkbook();} else if (fileType.equals("xlsx")) {//如果是.xlsx,就new XSSFWorkbook()workbook = new XSSFWorkbook();} else {throw new Exception("文档格式后缀不正确!!!");}// 创建表sheetsheet1 = workbook.createSheet("sheet1");}
}

java读取与写入excel(.xls .xlsx)相关推荐

  1. java方法的通用格式,【学习笔记】使用Java读取、写入Excel全版本(包含xls、xslx格式)通用方法及代码展示(POI)...

    POI是Java编写的开源跨平台Excel处理工具,不仅提供了对Excel的操作,也提供了对Word.PowerPoint和Visio等格式的文档的操作. jar包下载 基于Maven工程的pom.x ...

  2. JAVA读取、写入Excel表格(含03版)

    引言 工作中可能会遇到对Excel读取和写入,如果我们自己手动写的话,会很麻烦,但是Apache中有poi工具类.poi工具类封装好了对于Excel读取和写入,我们需要用的时候,直接调用该方法就好了. ...

  3. java读取txt写入excel,java中对txt和excel的读取和写入

    txt工具类: package com.rj.bd.xm; import java.io.BufferedReader; import java.io.BufferedWriter; import j ...

  4. Java读取、写入、处理Excel文件中的数据

    在日常工作中,我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,本文将介绍Excel读写的常用方法,希望对大家学习Java读写Excel会有 ...

  5. 将excel(xls/xlsx)转换成csv文件

    将excel(xls/xlsx)转换成csv文件 首先pom.xml 需要引进的包如下: <dependency><groupId>net.sourceforge.jexcel ...

  6. Java使用POI读取和写入Excel指南

    Java使用POI读取和写入Excel指南 做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃 ...

  7. java poi 读取excel 编码_Java使用POI 读取和写入Excel指南

    做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求:网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0. ...

  8. java poi写入excel_Java使用POI读取和写入Excel指南

    做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0 ...

  9. Java工具:使用POI读取和写入Excel

    做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里基于最新的Apache POI 4.0 ...

最新文章

  1. windows之如何知道C盘目录下的大文件路径
  2. (2021) 18 [代码讲解] 可执行文件
  3. 工作中遇到的错误记录
  4. python数据分析实况_Python数据分析实战:降雨量统计分析报告分析
  5. asp:boundfield 鼠标悬停后显示_设计了100张图表后,我学到了哪些经验?
  6. [swift] LeetCode 35. Search Insert Position
  7. js中精度问题以及解决方案
  8. python和java选择哪个-python和java哪个学起来更简单
  9. 如何判断一个数为无符号数还是有符号数
  10. 如何学习SAP系统并从事相关职业
  11. [每日一氵] Python内部创建一个进程,等用完再结束掉他
  12. oppo android多大内存,OPPO R9的内存容量是多少
  13. 【教程篇】手机卡刷Rom详细教程
  14. App推广:渠道与运营模型
  15. npm run dev命令报错解决方式
  16. android xposed miui9,vxposed在小米-安卓9上闪退
  17. 一个可以截取其他App素材的办法Visual Studio Code
  18. 【Ubuntu】SMBus Host controller not enabled(虚拟机进入不了图形界面)
  19. 状语从句不是简单句_简单句、复合句Gloria总结
  20. 钉钉企业主要功能介绍

热门文章

  1. xcode7打包ipa文件
  2. Unity3D开发技巧:如何避开unity编辑器的那些坑
  3. 【总结整理】写给非技术产品经理的技术能力要求----摘自《人人都是产品经理》...
  4. 在 Docker Machine 中使用 Mirror 服务
  5. 如何修改帝国cms文章点击量默认值和成倍增加
  6. [Android]使用Gradle提交自己开源Android库到Maven中心库
  7. 火星文字充斥网络 网友怒骂其侮辱汉字
  8. 通过讲课来建立自己的知识系统
  9. 二分法求数组最大最小_JavaScript之如何求数组的最大值和最小值
  10. java comparable接口_浅谈程序接口