标签:

一、需要导入的jar包

org.apache.poi

poi

3.9

org.apache.poi

poi-ooxml

3.9

二、POIAPI连接

三、代码如下

/**

* 获取上传的excel 解析数据

*

* @param file

* 文件

* @param excelName

* 文件名

* @return

* @throws IOException

* @throws InvalidFormatException

*/

@PostMapping("/readexcel")

public List uploadExcel(@RequestParam MultipartFile file, @RequestParam String excelName) throws IOException, InvalidFormatException {

List dataList = null;

try (InputStream in = file.getInputStream()) {

Workbook wb = WorkbookFactory.create(in);

// 获取第一个sheet

Sheet sheet = wb.getSheetAt(0);

// 获取最大行数

int rownum = sheet.getPhysicalNumberOfRows();

// 获取第一行

Row row = sheet.getRow(0);

// 存放表中的数据

dataList = new ArrayList();

// 循环行

for (int i = 1; i < rownum; i++) {

WorkstationExcel we = new WorkstationExcel();

row = sheet.getRow(i);

if (row != null) {

we.name = getCellFormatValue(row.getCell(0));

we.ip = getCellFormatValue(row.getCell(1));

we.description = getCellFormatValue(row.getCell(2));

} else {

continue;

}

System.err.println("名称:" + we.name + "------" + "IP:" + we.ip + "------" + "描述:" + we.description);

dataList.add(we);

}

}

return dataList;

}

public String getCellFormatValue(Cell cell) {

String cellValue = "";

if (cell == null) {

return cellValue;

}

// 判断cell类型 getCellType()

switch (cell.getCellType()) {

case Cell.CELL_TYPE_NUMERIC: {

// 获取单元格的值作为数字 getNumericCellValue()

cellValue = String.valueOf((int)cell.getNumericCellValue());

break;

}

case Cell.CELL_TYPE_FORMULA: {

// 判断cell是否为日期格式

if (DateUtil.isCellDateFormatted(cell)) {

// 转换为日期格式YYYY-mm-dd

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date d = cell.getDateCellValue();

if (d != null) {

cellValue = sdf.format(d);

}

} else {

// 数字

cellValue = String.valueOf(cell.getNumericCellValue());

}

break;

}

case Cell.CELL_TYPE_STRING: {

cellValue = cell.getRichStringCellValue().getString();

break;

}

}

return cellValue;

}

@SuppressWarnings("unused")

private class WorkstationExcel {

/**

* 工作站名 如 001

*/

public String name;

/**

* 工作站ip

*/

public String ip;

/**

* 描述

*/

public String description;

}

四、Excel表如下

名称

IP

描述

GYG4

127.0.0.33

sfs

DFSA

127.0.46.3

fsd

ADAS

172.26.6.15

dfd

WSFS

153.6.5.23

dgs

五、获取数据结果

标签:

来源: https://blog.csdn.net/yellow757/article/details/82712855

java解析excel文件处理数字成像_Java处理Excel工具,POI解析,使用InputStream读取文件...相关推荐

  1. pandas使用read_csv函数读取文件时指定数据列的数据类型、pandas使用read_csv函数读取文件时通过keep_default_na参数设置缺失值替换为空字符串

    pandas使用read_csv函数读取文件时指定数据列的数据类型.pandas使用read_csv函数读取文件时通过keep_default_na参数设置缺失值替换为空字符串 目录

  2. java csv文件tozip后损坏_java上传并下载以及解压zip文件有时会报文件被损坏错误分析以及解决...

    情景描述: 1.将本地数据备份成zip文件: 2.将备份的zip文件通过sftp上传到文件服务器: 3.将文件服务器上的zip文件下载到运行服务器: 4.将下载的zip文件解压到本地(文件大小超过50 ...

  3. java读取绝对路径文件_Java 程序中使用相对和绝对路径读取文件

    在Java中用File对象来创建文件时,绝对路径一般是不会出现什么问题的,如果使用相对路径,则有可能出现意向不到的问题,以下主要是针对相对路径进行解释 1.Eclipse下的Java Project环 ...

  4. java怎么上传文件到web服务器_Java客户端通过Http发送POST请求上传文件到web服务器...

    http://www.cnblogs.com/WilliamJiang/archive/2012/04/29/2475883.html 1.朋友的一个需求,让我给他实现,需求是这样的,需要用ASP.n ...

  5. php 读取文件的所有图片格式,扣丁学堂PHP培训简述PHP如何读取文件夹下所有图片、文件-php文件...

    本篇文章扣丁学堂PHP培训小编给读者们分享一下PHP读取文件夹下所有图片.文件的实例,文中有代码列出供小伙伴们参考,希望对小伙伴们有帮助. 如下所示:$hostdir=dirname(__FILE__ ...

  6. linux将txt文件转化为raw,如何利用qemu-img工具将其它格式的镜像文件转换成VHD或RAW格式...

    本文在介绍的基础上如何利用qemu-img工具将其它格式的镜像文件转换成VHD或RAW格式,重点探讨了其具体步骤. 转换镜像格式 ECS只支持导入RAW.VHD和qcow2格式的镜像文件.其他镜像文件 ...

  7. java excel批量导入数据库数据_Java实现Excel数据批量导入数据库

    Java实现Excel数据批量导入数据库 概述: 这个小工具类是工作中的一个小插曲哦,因为提数的时候需要跨数据库导数... 有的是需要从oracle导入mysql ,有的是从mysql导入oracle ...

  8. java excel 删除单元格格式_Java 去除excel表格内容中的空格

    读取excel数据 package cn.edu.cust.demo; import java.io.File; import java.io.FileInputStream; import java ...

  9. java导入导出有版本兼容问题_java导入excel时遇到的版本问题

    java中读取excel文件时对不同的版本提供了不同的读取方法,这就要求我们在读取excel文件时获取excel文件的版本信息从而通过不同的版本去使用不同的读取方式, 在WorkbookFactory ...

最新文章

  1. 「2019嵌入式智能国际大会」 399元超值学生票来啦,帮你豪省2600元!
  2. SQL Server中查看SQL句子执行所用的时间
  3. 一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!
  4. ElasticSearch—基本概念
  5. php开发工具 debug,php开发性能调试工具xdebug
  6. unity 地图编辑器_基于Unity的场景基础测试
  7. 春节回来,陪你去看星河云!
  8. [裴礼文数学分析中的典型问题与方法习题参考解答]5.1.24
  9. 如何查看excel中的vba代码
  10. grads 相关系数_GrADS实习报告6
  11. ADS1115--已调通(附源码)
  12. Xftp的下载、安装、使用
  13. Win10安全证书过期怎么办
  14. 前序+中序 =〉后序
  15. 实现Linux与windows文件互传
  16. 函数型数据主成分分析(FPCA)
  17. 什么是数据挖掘?数据挖掘的目标是什么?
  18. 什么是群体智能(集群智能)?蜂群思维?
  19. 矛盾方程的最小二乘解
  20. 基于FPGA的键盘扫描程序的设计

热门文章

  1. mysql主从注意事项_mysql主从复制亲测,以及注意事项
  2. mysql5.6忘记立马_MySQL 5.7 安装完成后,立即要调整的性能选项
  3. 实现贝叶斯分类器_从头开始在Python中实现高斯朴素贝叶斯
  4. 27日直播预告丨Oracle运营商行业生产实践分享
  5. 典型案例:Bug 9776608-多个用户使用错误密码登录同一个用户而造成的用户无法登录异常...
  6. 诊断案例:Failed parse elapsed time引发db time过高的案例
  7. 内核解密 | Oracle 18c 数据库安装ORA-12754的两种解决方案
  8. MySQL 传统复制中常见故障处理和结构优化案例分析
  9. 全网呕血整理:关于YOLO v3原理分析
  10. 【API进阶之路】做OCR文字识别,谁说必须要有AI工程师?