1.工具类
public class InExcelTool { //根据指定位置单独读取一个
public static String getContent(String file, int page, int i, int j){
String s = null;
try {
//解析
org.apache.poi.ss.usermodel.Workbook workbook = null;
NumberFormat nf = NumberFormat.getInstance();
//文件后缀
String extString = file.substring(file.lastIndexOf("."));
InputStream is = new FileInputStream(file);
if(".xls".equals(extString)){
workbook = new HSSFWorkbook(is);
Sheet sheet = workbook.getSheetAt(page); //选择sheet页
HSSFRow row = (HSSFRow) sheet.getRow(i);
HSSFCell data = row.getCell(j);
s = String.valueOf(data);
if (s.lastIndexOf(".0") != -1) {
s = s.substring(0, s.indexOf("."));
} }else if(".xlsx".equals(extString)){
workbook = new XSSFWorkbook(is);
Sheet sheet = (Sheet) workbook.getSheetAt(page); //选择sheet页
XSSFRow row = (XSSFRow) sheet.getRow(i);
XSSFCell data = row.getCell(j);
s = String.valueOf(data);
}else{
return "文件格式不符!";
} }catch (Exception e){
e.printStackTrace();
}
return s;
}
} 2.调用
 @RequestMapping("UpdateSocialCircleExcel")
String UpdateSocialCircleExcel(@RequestParam("file") MultipartFile file){
try { //获取当前系统时间
Date date = new Date();
//转换为中文时间
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy"+"年"+"MM"+"月"+"dd"+"日"+"hh"+"时"+"mm"+"分"+"ss"+"秒-");
// 获取文件的名字
String fileName = file.getOriginalFilename();
//拼接文件名
String FileSyetemTime = dateFormat.format(date)+fileName;
// 指定文件存储路径 File.separator 代表/或者\ 解决跨平台 / \ 的问题 跨平台
//指定存放位置
String destFileName = "C:" + File.separator + "Users" + File.separator+ "Public" + File.separator + "imports" + File.separator+ FileSyetemTime;
//将文件创建在本地
File pinjie = new File(destFileName); //文件的路径在文件名拼接的结果
String destFile = pinjie+"";
file.transferTo(pinjie); //创建添加
       System.out.println(InExcelTool.getContent(destFile, 0, 2, 1));
    }
}
注:以上内容仅供个人学习记录使用,如有问题,请慎用!

Java读取excel 支持xls 和 xlsx格式的更多相关文章

  1. Java 解析Excel(xls、xlsx两种格式)

    Java 解析Excel(xls.xlsx两种格式) 一.环境 JDK 1.8 二.JAR 1.commons-collections4-4.1.jar 2.poi-3.9-20121203.jar ...

  2. java解析Excel(xls、xlsx两种格式)

    https://www.cnblogs.com/hhhshct/p/7255915.html ***************************************************** ...

  3. Java读取excel(兼容03和07格式)

    读取excel,首先需要下载POI的jar,可以去官网下,也可以在这里下载 一.简单说明 excel2003和excel2007区别比较大,最直观的感受就是扩展名不一样,哈哈 不过,使用POI的API ...

  4. java 读取excel 正常 xls

    package com.sun.test; import java.io.BufferedInputStream;import java.io.File;import java.io.FileInpu ...

  5. java读取excel或者csv时日期格式数据处理

    背景:最近写一个通过excel批量导入数据的功能,里面含有时间,但是java读取之后把时间转为了距离1990年1月1号的天数,比如excel中时间为2018/9/16 18:30,java读取之后变成 ...

  6. java读取excel文件(.xls,xlsx,csv)

    前提,maven工程通过poi读写excel文件,需要在pom.xml中配置依赖关系: 在<dependencies>中添加如下代码 <dependency> <grou ...

  7. poi做Excel数据驱动,支持.xls和.xlsx格式的excel文档,比起jxl强大不少

    import java.io.FileInputStream;import java.io.InputStream;import java.util.Iterator;import java.util ...

  8. C# 将DataGridView中显示的数据导出到Excel(.xls和.xlsx格式)—NPOI

    前言 https://blog.csdn.net/IT_xiao_guang_guang/article/details/104217491  本地数据库表中有46785条数据,测试正常  初次运行程 ...

  9. Java读取excel表格

    Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...

随机推荐

  1. 轻轻松松学CSS:position

    position属性表示元素的定位类型,在CSS布局中,position发挥着非常重要的作用,一些元素的布局就是用position完成的,鉴于此,本文结合一些小实例详细讲解一下. position属性 ...

  2. servlet的生命周期和工作原理介绍

    一.servlet生命周期 Servlet生命周期分为三个阶段: 1)初始化阶段: 调用init()方法 2)响应客户请求阶段:调用service()方法 3)终止阶段:调用destroy()方法 T ...

  3. Linux系统添加应用服务进程的守护进程

    以前曾在Linux上维护应用服务,但是只是简单的迭代版本等工作,没有什么技术含量.最近部署在Linux服务器上的一个平台的总线进程broker(下面总线用broker指代)经常挂掉,由于总线负责服务之 ...

  4. CocosCreator游戏开发(四)实现摇杆控制角色功能

    时隔3年,我又开始继续写这个系列的帖子了,也不知道是会写完全系列,还是再次夭折. 废话不多.直接开始主题了 主要实现的功能点包含这些内容:通过摇杆控制角色进行八方位移动,并按照各方位播放对应移动动画 ...

  5. Flink启动脚本改造--制作适用于CDH的Flink parcel包

    #!/usr/bin/env bash ################################################################################ ...

  6. muduo源码解析7-countdownlatch类

    countdownlatch class countdownlatch:noncopyable { }; 作用: countdownlatch和mutex,condition一样,用于线程之间的同步, ...

  7. 基于 GitBook 搭建个人博客

    目录 基于 GitBook 搭建个人博客 1.为什么要写博客? 2.为什么选择使用 GitBook 来搭建? 3.搭建方式 3.1 GitBook 线上直接搭建 3.2 由基于Node.js的命令工具 ...

  8. Vue基础(三)---- 组件化开发

    基本结构: ◆1.组件化开发思想 ◆2.组件注册 ◆3.Vue调试工具用法 ◆4.组件间数据交互 ◆5.组件插槽 ◆6.基于组件的案例   ◆1.组件化开发思想 优点: 提高开发效率 方便重复使用 简 ...

  9. opencv 截图并保存

    opencv 截图并保存(转载) 代码功能:选择图像中矩形区,按S键截图并保存,Q键退出. #include<opencv2/opencv.hpp> #include<iostrea ...

  10. 关于提高服务器的带宽策略bonding

    一:bonding的概念 所谓bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现网卡的带宽扩容.高可用或者负载均衡. 二:bonding的优势 1 网络负载均衡 2 提高带宽网络传输效 ...