一,AOP 是什么

Apache POI 提供java 程序对Microsoft Office格式文档的读写功能操作

二,所需要的jar包

三,实现代码

1, 读取Excle 返回Workbook格式

  //读取excel
public static Workbook readExcel(String filePath) {
Workbook wb = null;
if (filePath == null) {
return null;
}
String extString = filePath.substring(filePath.lastIndexOf("."));
InputStream is = null;
try {
is = new FileInputStream(filePath); //获取文件流
if (".xls".equals(extString)) {
return wb = new HSSFWorkbook(is); //将文件留转换成相对的Excle 模板 , 2003版本
} else if (".xlsx".equals(extString)) {
return wb = new XSSFWorkbook(is); //将文件留转换成相对的Excle 模板 2007版本
} else {
return wb = null;
} } catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return wb;
}

2, 接下来就是要对获取到的workbook 类型进行再一次数据获取

Workbook :Exlce 模板

Sheet :工作簿

Row : 行数据

Cell : 列数据

  public static  void  getExcle(String path){
Workbook wb=null; //获取Excle
Sheet sheet = null; //获取Excle 中的工作簿
Row row = null; //获工作簿中行数据 wb = readExcel(path); //获取Excle
sheet = wb.getSheetAt(0);//获取第一个工作簿
int rownum =sheet.getPhysicalNumberOfRows(); //获取最大行数
for(int i=0 ; i<rownum ;i++){ //循环遍历 数据
row = sheet.getRow(i); //获取当前行数据
System.out.println("第一列:"+row.getCell(1)+"---第二列"+row.getCell(2));
}
}

优化代码

 public static Map getIncident(String filePath) {
Workbook wb = null;
Sheet sheet = null;
Row row = null;
List<Map<String, String>> list = null;
Map<String, String> map = new LinkedHashMap<String, String>();//存放Excle表格内容
wb = readExcel(filePath);
if (wb != null) {
//用来存放表中数据
list = new ArrayList<Map<String, String>>();
//获取第一个sheet
sheet = wb.getSheetAt(0);
//获取最大行数
int rownum = sheet.getPhysicalNumberOfRows();
//获取第一行
row = sheet.getRow(0);
//获取最大列数
int colnum = row.getPhysicalNumberOfCells();
for (int i = 0; i < rownum; i++) {
row = sheet.getRow(i);
if (row != null) {
map.put((String) getCellFormatValue(row.getCell(0)), (String) getCellFormatValue(row.getCell(1)));
} else {
break;
}
}
} return map;
/*//遍历解析出来的list
for (Map.Entry<String,String> entry : map.entrySet()) {
System.out.print(entry.getKey()+":"+entry.getValue()+",");
}*/
}

poi 导入Excle的更多相关文章

  1. POI导入导出

    一.使用POI导出Execl表格 需要的jar包 package cn.yxj.poi; import java.io.FileOutputStream; import java.util.Date; ...

  2. Java利用POI导入导出Excel中的数据

         首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...

  3. 导入excle数据

    导入excle数据 1.if (File.Exists(strFileName)) // 当文件存在时             {                 m_fileName = strFi ...

  4. Java中使用poi导入、导出Excel

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...

  5. poi 导入导出的api说明(大全)

    原文链接:http://www.cnblogs.com/qingruihappy/p/8443101.html poi 导入导出的api说明(大全) 一. POI简介 ApachePOI是Apache ...

  6. poi导入Excel,数字科学记数法转换

    在这里分享一下使用poi 导入Excel时 把数字转换为科学记数法的解决方法: 就是使用DecimalFormat对 i 进行了格式化 结果为:

  7. POI导入和导出Excel总结

    POI导入和导出Excel总结   POI使用总结 1.POI读取Excel 打开工作簿的方式有以下两种简单的应用,POI读取和输出工作簿文件都可以通过以下两种方式来声明: //通过输入流的方式打开本 ...

  8. 使用POI导入EXCEL报java.lang.IncompatibleClassChangeError

    使用POI导入xls格式的excel报java.lang.IncompatibleClassChangeError异常,而导入xlsx正常. oracle.apps.fnd.framework.OAE ...

  9. Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)

    ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件 ...

随机推荐

  1. [ML] 数据处理

    可以不需要自己开发,使用CloudCompare的分割合并功能实现点云标注(labeling),生成点云训练集数据. (1)首先对点云中的物体进行分割,分割出一个一个的类别. (2)接着删除所有的SF ...

  2. ORACLE——EXTRACT() 截取日期时间的函数使用

    1.截取日期的 年: --使用方法 EXTRACT(YEAR FROM DATE) SQL> SELECT EXTRACT( YEAR FROM SYSDATE ) FROM DUAL; --结 ...

  3. git 解决授权失败的方法

    git 提示  fatal: Authentication failed for 'http://***********‘’得解决方法 首先用 git config --list 查看一下 如果不对, ...

  4. 深入理解Java虚拟机7-chap10-11-斗者4星

    一.编译期优化 1.JIT编译器在运行期的优化过程对程序运行很重要,而编译期优化过程对于程序编码关系更密切 2.Javac编译器编译过程 解析与填充符号表过程:词法语法分析.填充符号表 插入式注解处理 ...

  5. python拼接multipart/form-data类型post请求格式

    # 最近要做form-data类型接口,大多数这种格式用来文件上传,但是我们公司就是用这种格式传输请求数据. # 百度了一些基本都是files方式的,可是我们需要data=方式的.下面自己来拼接,代码 ...

  6. puppeteer(六)启动参数——浏览器扩展应用的添加及应用

    前言 最近再做浏览器的自动化,首页是定制化的,是通过extension(扩展)实现的,由于通过puppeteer默认是以无参(即首次以干净的环境)运行的,导致登录页无法正常显示,首先想当然是直接找扩展 ...

  7. 全局路径规划算法Dijkstra(迪杰斯特拉算法)- matlab

    参考博客链接:https://www.cnblogs.com/kex1n/p/4178782.html Dijkstra是常用的全局路径规划算法,其本质上是一个最短路径寻优算法.算法的详细介绍参考上述 ...

  8. 【003:使用SW4STM32不进入中断的原因】

    系统环境: ubuntu 16.04 64bit开发环境:SW4STM32记录时间: 2017年07月01日联系方式: yexiaopeng1992@126.com背景: 在ubuntu下使用ST官方 ...

  9. Bioinfo online workshop

    http://icb.med.cornell.edu/index.html%3Fpage_id=2068.html 1. Datacamp https://www.datacamp.com/cours ...

  10. 25 range打印100到0的连续整数

    使用range打印100,99,98,...0for i in range(100,-1,-1): print(i)