JAVA从excel中导入数据

  • 1、准备POI.jar
    • 下载完后解压,解压后文件夹如图
    • 在IDEA中导入包
  • 2、使用POI包进行excel提取
    • 1、创建文件流和Workbook
    • 2、选择工作表
    • 3、选择行
    • 4、选择单元格
    • 5、获取单元格内容
  • 3、例子

1、准备POI.jar

Apache POI官方下载网址:http://poi.apache.org/download.html

下载完后解压,解压后文件夹如图

在IDEA中导入包


2、使用POI包进行excel提取

1、创建文件流和Workbook

方式一:

     //If using HSSFWorkbook or XSSFWorkbook directly,// you should generally go through POIFSFileSystem or OPCPackage,// to have full control of the lifecycle // HSSFWorkbook, File
POIFSFileSystem fs = new POIFSFileSystem(new File("file.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot(), true);
....
fs.close();
// HSSFWorkbook, InputStream, needs more memory
POIFSFileSystem fs = new POIFSFileSystem(myInputStream);
HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot(), true);
// XSSFWorkbook, File
OPCPackage pkg = OPCPackage.open(new File("file.xlsx"));
XSSFWorkbook wb = new XSSFWorkbook(pkg);
....
pkg.close();
// XSSFWorkbook, InputStream, needs more memory
OPCPackage pkg = OPCPackage.open(myInputStream);
XSSFWorkbook wb = new XSSFWorkbook(pkg);
....
pkg.close();

方式二:

// Use a file
Workbook wb = WorkbookFactory.create(new File("MyExcel.xls"));// Use an InputStream, needs more memory
Workbook wb = WorkbookFactory.create(new FileInputStream("MyExcel.xlsx"));

方法一需要获得相应读取权限,要注意结束时关闭字节流;(.xls和.xlsx要用不同的方法)
方式二可直接用文件方式获取对应excel文件(不用区分.xls和.xlsx)

2、选择工作表
Sheet sheet = wb.getSheetAt(0); //0代表excel中第一张表,1为第二张
3、选择行
Row row = sheet.getRow(0);
4、选择单元格
Cell cell = row.getCell(0);
5、获取单元格内容

先判断单元格内容类型,再进行获取

switch(cell.getCellType()){case STRING:System.out.print(cell.getStringCellValue()+"\t");break; case NUMERIC:System.out.print(cell.getNumericCellValue()+"\t");break;default:System.out.print("\t");}

3、例子

import org.apache.poi.ss.usermodel.*;
import java.io.File;public class test_baseinfo {public static void main(String[] args) {// 文档路径String path = "D:\\Person_files\\MyCode\\javacode\\Test_excel\\workbook.xlsx";readExcel(path);}public static void readExcel(String path){try{//连接工作表Workbook book = WorkbookFactory.create(new File(path));Sheet sheet = book.getSheetAt(0);//遍历表for(Row row : sheet){for(Cell cell : row){               /判断单元格类型switch(cell.getCellType()){case STRING:System.out.print(cell.getStringCellValue()+"\t");break;case NUMERIC:System.out.print(cell.getNumericCellValue()+"\t");break;default:System.out.print("\t");}}System.out.println();}}catch (Exception e){e.printStackTrace();}}
}

利用Java提取excel内容相关推荐

  1. java控制excel_利用Java控制EXCEL实例详解

    利用Java控制EXCEL实例详解发布者:本站     时间:2020-05-06 15:05:43 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵 ...

  2. java读取Excel内容添加到list集合里面去

    java读取Excel内容添加到list集合里面去 package com.changan.contract.newsign.utils;import com.changan.contract.xqh ...

  3. java横向导出excel_利用Java进行Excel的数据导入导出

    1. 引言 MS 的电子表格(Excel)是Office 的重要成员,是保存统计数据的一种常用格式.在一 个Java 应用中,将一部分数据生成Excel 格式,是与其他系统无缝连接的重要手段.在远程 ...

  4. java 读取excel 合并单元格_利用java读写Excel文件、合并单元格

    一般的页眉页脚都分为三个部分,左,中,右三部分,利用如下代码可实现插入页眉页脚 java 代码publicstaticvoidsetHeader(WritableSheet dataSheet,Str ...

  5. 案例逐步演示python利用正则表达式提取指定内容并输出到csv

    背景和目标 这次我想要处理的是一个txt文件,里面的内容是一台机器定时ping另一台机器的输出结果,想要提取出的内容是时间和rtt值,最后还要把结果输出到csv文件. 1. 明确要提取的内容,编写正则 ...

  6. Excel利用函数提取文本内容中的数字

    话不多说在开始之前呢,嗯,需要下载方方格子函数扩展包.然后我们今天要讲的函数呢,是从文本内容当中提取数字.当然这个数字呢包含整数,也包含小数.好了 (方方格子插件) 1.先看动图演示吧 2.首先分解动 ...

  7. excel中用java语言_利用 JAVA 操作 EXCEL 文件

    Java Excel 是一开放源码项目,通过它 Java 开发人员可以读取 Excel 文件的内容.创建新的 Excel 文件.更新已经存在的 Excel 文件.使用该 API 非 Windows 操 ...

  8. java excel 设置行高 jxi_利用Java控制EXCEL实例详解

    使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵Excel文件并不是一件容易的事.在Web应用日益盛行的今天,通过Web来操作Excel文件的需求越来 ...

  9. Java读取Excel内容

    借助于apathe的poi.jar,由于上传文件不支持.jar所以请下载后将文件改为.jar,在应用程序中添加poi.jar包,并将需要读取的excel文件放入根目录即可 本例使用java来读取exc ...

最新文章

  1. Clojure程序设计
  2. 最快让你上手ReactiveCocoa之进阶篇
  3. KubeDL 0.4.0 - Kubernetes AI 模型版本管理与追踪
  4. 旧金山字体_旧金山建筑业的兴衰。 施工趋势与历史
  5. SSL 1461——最大连续数列的和
  6. 有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...
  7. MATLAB函数使用记录1-plot/line/set
  8. android 免root 模拟器,真正免root的Droidwall详细使用教程
  9. 装饰者模式(Decorator)
  10. 1、【转载】Python yield 使用浅析
  11. bean type not found
  12. BZOJ.3938.Robot(李超线段树)
  13. Python在定义类方法时self的作用是什么?是否可以不写
  14. 整站数据下载工具:SiteSucker for mac
  15. Refactoring Page Head
  16. Android动态警示线,Android平台上辅助安全驾驶之线道侦测与偏离警示系统
  17. SpringBoot 根据条件注入需要的 Bean
  18. minecraft服务器stats文件夹,《我的世界》文件夹目录作用讲述
  19. Tracking相关的文章
  20. 汉诺塔(the Tower of Hanoi )

热门文章

  1. ps、firewords在win78中无法直接拖入的问题解决方法
  2. 计算机系统基础学习笔记(7)-缓冲区溢出攻击实验
  3. 中职网络安全操作系统渗透
  4. 案例:可视化分析 + 预测模型,锁定影响产品良率的根因!
  5. 算法的时间复杂度与空间复杂度介绍
  6. Mac OS 关闭系统更新提示小红点
  7. 深度学习细颗粒图像分析综述
  8. linux通讯录软件带头像,Ubuntu联系人应用已支持增强的头像功能
  9. rhel6.6的内核源码安装与BCM4322无线网卡驱动的安装
  10. 版本管理-SVN冲突爆红后如何通过颜色和快捷键准确无误地合并代码(一)