依赖
implementation ‘org.apache.poi:poi:3.17’
implementation ‘org.apache.poi:poi-ooxml:3.17’
implementation ‘org.apache.xmlbeans:xmlbeans:3.1.0’

读取2003以后的Excel

public void testReadExcelAfter(){try {// 读取ExcelWorkbook wb = new XSSFWorkbook(new FileInputStream("E:\\name.xlsx"));// 获取sheet(篇)数目for (int t = 0; t < wb.getNumberOfSheets(); t++) {Sheet sheet = wb.getSheetAt(t);Row row = null;int lastRowNum = sheet.getLastRowNum();// 循环读取for (int i = 0; i <= lastRowNum; i++) {row = sheet.getRow(i);if (row != null) {// 获取每一列的值for (int j = 0; j < row.getLastCellNum(); j++) {Cell cell = row.getCell(j);String value = getCellValue(cell);if (!value.equals("")) {System.out.print(value + "  ");}else {continue;}}System.out.println();}}}} catch (Exception e) {e.printStackTrace();}
}

读取2003以前的Excel

public void testReadExcelBefore(){try {// 读取ExcelWorkbook wb = new HSSFWorkbook(new FileInputStream("E:\\test.xls"));// 获取sheet(篇)数目for (int t = 0; t < wb.getNumberOfSheets(); t++) {Sheet sheet = wb.getSheetAt(t);Row row = null;int lastRowNum = sheet.getLastRowNum();// 循环读取for (int i = 0; i <= lastRowNum; i++) {row = sheet.getRow(i);if (row != null) {// 获取每一列的值for (int j = 0; j < row.getLastCellNum(); j++) {Cell cell = row.getCell(j);String value = getCellValue(cell);if (!value.equals("")) {System.out.print(value + "  ");}else {continue;}}System.out.println();}}}} catch (Exception e) {e.printStackTrace();}}

读取单元格的值

private String getCellValue(Cell cell){Object result="";if(cell == null){result = "  ";}else {if(cell.getCellType() == Cell.CELL_TYPE_STRING){result=cell.getStringCellValue();}else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC){result=cell.getNumericCellValue();}else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN){result=cell.getBooleanCellValue();}else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA){result=cell.getCellFormula();}else if (cell.getCellType() == Cell.CELL_TYPE_ERROR){result=cell.getErrorCellValue();}else if (cell.getCellType() == Cell.CELL_TYPE_BLANK){result = "";}}return result.toString();}

写入Excel文件

public void testWriteExcel() {String excelPath = "D:\\javatest\\2.xlsx";Workbook workbook=null;try {workbook = new XSSFWorkbook();} catch (Exception e) {System.out.println("创建Excel失败: ");e.printStackTrace();}if(workbook!=null){Sheet sheet=workbook.createSheet("测试数据");Row row0=sheet.createRow(0);for(int i=0;i<12;i++){Cell cell=row0.createCell(i, Cell.CELL_TYPE_STRING);cell.setCellValue("列标题");sheet.autoSizeColumn(i);//自动调整宽度}for (int rowNum = 1; rowNum < 16; rowNum++) {Row row = sheet.createRow(rowNum);for (int i = 0; i < 12; i++) {Cell cell = row.createCell(i, Cell.CELL_TYPE_STRING);cell.setCellValue("单元格" + String.valueOf(rowNum + 1)+ String.valueOf(i + 1));}}try {FileOutputStream outputStream = new FileOutputStream(excelPath);workbook.write(outputStream);outputStream.flush();outputStream.close();} catch (Exception e) {System.out .println("写入Excel失败: ");e.printStackTrace();}}}

测试

public static void main(String[] args) {POI poi = new POI();poi.testReadExcelAfter();}

java操作Excel实现读写相关推荐

  1. Java操作Excel之POI:java读写excel文件以及打印设置

    Java操作Excel之POI:java读写excel文件以及打印设置 POI的jar包下载地址:http://poi.apache.org/download.html 注意:项目中导入poi 4.0 ...

  2. 使用JXL.jar实现JAVA对EXCEL的读写操作

    简介: jxl.jar是通过java操作excel表格的工具类库 jxl操作excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格). 一个excel就对应一个Work ...

  3. 高级知识点:excel4j实现java操作excel文件的读写

    介绍 java操作excel文件最经典的是POI,但是其api 较多,代码量巨大,反复重复 excel4j ap则简洁太多,利用pojo建模,利用注解进行标识@ExcelField(title = & ...

  4. java excel读取操作,Java 操作 Excel (读取Excel2003 2007,Poi兑现)

    Java 操作 Excel (读取Excel2003 2007,Poi实现) 一. Apache POI 简介( http://poi.apache.org/) 使用Java程序读写Microsoft ...

  5. java操作Excel、PDF文件

    java操作Excel.PDF文件 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的java操作excel的工具, 在开源世界中, ...

  6. java操作excel表

    文章分类:Java编程 http://developers.sun.com.cn/blog/functionalca/entry/java读写excel简介 JAVA EXCEL API简介 Java ...

  7. Java操作Excel三种方式POI、Hutool、EasyExcel

    Java操作Excel三种方式POI.Hutool.EasyExcel 1. Java操作Excel概述 1.1 Excel需求概述 1.2 Excel操作三种方式对比 2. ApachePOIExc ...

  8. java操作excel的工具

    jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文 ...

  9. java操作Excel有两种方式 方式1:jxl操作Excel jxl的API

    java操作Excel有两种方式 方式1:jxl操作Excel 方式2:poi操作Excel 下面介绍jxl API: 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用 ...

最新文章

  1. Win7命令行局域网发消息图解
  2. php url 筛选,PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
  3. Linux中的SELinux与chcon以及Samba实现【转】
  4. cocos2d-x游戏开发(四)游戏主循环
  5. 为什么说无线数传电台和增益天线是相辅相成关系?
  6. 机器人总动员中的小草_机器人总动员读后感
  7. app头像上传vue_Vue+Electron开发跨平台桌面应用实践
  8. Codeforces Beta Round #5 C. Longest Regular Bracket Sequence 括号序列 dp+栈
  9. mysql hyperloglog_Redis HyperLogLog
  10. 面向对象,局部变量和成员变量
  11. JavaScript,凯撒位移密码,算法
  12. 深圳自己做网站 服务器,深圳自己做网站 服务器
  13. 企业销售预测实战-为什么要做销售预测
  14. 细节复盘3 (文本折叠、文本尾行缩进截断)2020-8-2
  15. 2019双11猫晚直播技术详解(附演讲PDF)
  16. 全景图矫正 matlab,全景图的后期水平矫正的三种方法
  17. 【ECNU OJ 3373】 骑士游戏 最短路径+动态规划
  18. 从《淘金者》看游戏细节
  19. linux 硬盘对拷,比ghost好用
  20. redis和mongdb的一些基本操作和命令以及使用python连接redis和mongdb

热门文章

  1. c++ eos智能合约开发_hyperledger fabric 开发第一个智能合约
  2. 我的域控是不是被攻击了?吓!
  3. 一步步实现SDDC-嵌入式PSC的VC部署
  4. vSphere 6.7的新增功能?我应该升级吗?
  5. 盘点下 NSX-v 中“不合理”的命名
  6. Java基础学习总结(85)——Java中四种线程安全的单例模式实现方式
  7. php mysql_fetch_field_PHP mysqli_fetch_field() 函数
  8. composer 安装包时与php版本不符 提示报错
  9. 受Struts2漏洞影响 思科正审查其主要产品安全性 CVE-2017-9805已有主动攻击
  10. 当配置 DispatcherServlet拦截“/”,SpringMVC访问静态资源的三种方式