try {this.upload(file);String originName = file.getOriginalFilename();// 取出文件的后缀int count = 0;for (int i = 0; i < originName.length(); i++) {if (originName.charAt(i) == '.') {count = i;break;}}String fileType = originName.substring(count + 1); //文件类型if(!fileType.equals("xls")&&!fileType.equals("xlsx")){return MsgOut.fail("只支持xls、xlsx类型文件");}SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");String format = sdf.format(new Date());String savePath = uploadpath + "\\" + "files" +   "\\" + fileType + "\\" + format;String fielPath=savePath + "\\" + originName;//文档File file1=new File(fielPath);FileInputStream inputStream = new FileInputStream(file1);//创建工作本,参数为工作流Workbook workbook=null;if(fileType.equals("xls")) {workbook = new HSSFWorkbook(inputStream);}else if(fileType.equals("xlsx")){workbook = new XSSFWorkbook(inputStream);}if(workbook!=null) {// 获取第一个表单SheetSheet sheetAt = workbook.getSheetAt(0);String sheetName = sheetAt.getSheetName();//默认第一行为标题行,i = 0//XSSFRow titleRow = sheetAt.getRow(0);// 循环获取每一行数据ThinkUserSpecialRank thinkUserSpecialRank = new ThinkUserSpecialRank();for (int i = 0; i < sheetAt.getPhysicalNumberOfRows(); i++) {Row row = sheetAt.getRow(i);// 读取每一格内容for (int index = 0; index < row.getPhysicalNumberOfCells(); index++) {Cell cell = row.getCell(index);cell.setCellType(Cell.CELL_TYPE_STRING);if (cell.getStringCellValue().equals("")) {continue;}
            }thinkUserSpecialRank.setSpecialName(sheetName);this.thinkUserSpecialRankMapper.insert(thinkUserSpecialRank);}}
} catch (IOException e) {e.printStackTrace();return MsgOut.OK("导入失败");
}
private void upload(MultipartFile file) {// 获取文件原本的名字String originName = file.getOriginalFilename();// 判断文件类型Set<String> set = new HashSet<>();set.add(".xls");set.add(".xlsx");// 取出文件的后缀int count = 0;for (int i = 0; i < originName.length(); i++) {if (originName.charAt(i) == '.') {count = i;break;}}String endName = originName.substring(count); //取出文件类型String fileType = originName.substring(count + 1); //文件类型// 创建保存路径//日期格式SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");String format = sdf.format(new Date());String savePath = uploadpath + "\\" + "files" + "\\" + fileType + "\\" + format;// 保存文件的文件夹File folder = new File(savePath);// 判断路径是否存在,不存在则自动创建if (!folder.exists()) {folder.mkdirs();}String saveName = originName;try {File file1 = new File(folder, saveName);file.transferTo(file1);String filePath = savePath + "\\" + saveName;} catch (IOException e) {}
}

java 读取xls、xlsx文件相关推荐

  1. java使用poi(XSSFWorkbook)读取excel(.xlsx)文件

    其中最主要的区别在于jxl不支持.xlsx,而poi支持.xlsx 这里介绍的使用poi方式(XSSFWorkbook),实际上poi提供了HSSFWorkbook和XSSFWorkbook两个实现类 ...

  2. Java读取批量Excel文件

    Java读取批量Excel文件,并转化为List<Map<String,String>> 1.首先基础知识: 一 :简介 开发中经常会设计到excel的处理,如导出Excel, ...

  3. python的openpyxl模块下载_python解析.xls/.xlsx文件–openpyxl模块(第三方)

    围观人数: 7 标签:book   set   tle   命令行   文件中   不能   charm   读取   pen 第一part:Excel文件的介绍 Microsoft Excel是Mi ...

  4. 【数据读写】csv文件与xls/xlsx文件

    目录 一.csv格式与xls/xlsx格式的区别 二.两种文件格式的读写操作 1.csv文件的读/写函数 csvread csvwrite 2.xls/xlsx文件的读/写函数 xlsread xls ...

  5. java读取Resources下文件

    java读取Resources下文件_杰子的世界-CSDN博客_java获取resources下的文件 第四种, 读取路径 ResourceBundle bundle = ResourceBundle ...

  6. java读取文件服务器文件,java读取远程服务器文件

    java读取远程服务器文件 内容精选 换一换 已成功登录Java性能分析.待安装Guardian的服务器已开启sshd.待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei JDK ...

  7. javaftp读取服务器文件,java读取ftp服务器文件

    java读取ftp服务器文件 内容精选 换一换 文件系统创建完成后,用户需在客户端挂载文件共享,在本地共享目录和CSG的文件共享建立映射,通过操作本地的目录实现对CSG共享目录的操作,实现数据实时上云 ...

  8. java 读取音频/视频 文件时长

    java 读取音频/视频 文件时长 支持mp3,mp4,mov,m4a,wav 格式文件 源码 https://github.com/opensourceteams/java-maven-projec ...

  9. ftp读取服务器文件是否存在,java读取ftp服务器文件是否存在

    java读取ftp服务器文件是否存在 内容精选 换一换 弹性云服务器通过SNAT访问公网上服务器,出现TCP建链失败的情况,可通过以下方法进行排查.执行以下命令,查看远端服务器是否开启了"t ...

  10. java获取服务器上指定文件,java 读取服务器上文件

    java 读取服务器上文件 [2021-02-04 10:02:14]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/ ...

最新文章

  1. 015_html注释
  2. com.rr.domain.Department_$$_javassist_5 cannot be cast to javassist.util.proxy.Proxy
  3. 你见过的最全面的 Python 重点
  4. 做.NET开发多年,公司要我转Java...
  5. 多线程某个线程异常了怎么处理_技术分享|Java多线程之高并发处理
  6. 百度又搞了一个“搜索”~
  7. 学习笔记--asp.net母版页(转自msdn,仅为自己学习存储和有意读者使用)
  8. python 自定义向量化(vectorized)操作函数
  9. 13_新闻客户端界面搭建
  10. P3802 小魔女帕琪
  11. el表达式跟ognl表达式的区别(用法和页面取值)
  12. 如何使用FlashgameMaster修改游戏
  13. qq人脸更换_QQ安全中心现在怎么替换人脸设置或删除人脸?
  14. Ubuntu18.04安装CUDA10、CUDNN
  15. 2022-2028年中国奶茶店行业竞争策略研究及未来前景展望报告
  16. mysql 时间加五分钟_mysql当前时间增加5分钟的实现方法
  17. 唐太宗灵州勒石 TANGTAIZONGLINZHOULESHI
  18. CVPR2022论文集锦 | CVPR2022最新论文 | CVPR2022审稿结果 | CVPR2022录取结果
  19. 中国天气网爬虫数据可视化
  20. win10计算机怎么改中文,windows10 中文,小编教你Win10怎么设置中文语言

热门文章

  1. table总结insertRow、deleteRow 学习
  2. opencv实现阈值分割算法和分水岭算法
  3. 多标签分类与多任务学习
  4. wyh2000 and pupil
  5. 线性规划中的对偶(Duality in linear programs)
  6. 什么样的运动耳机比较好、跑步运动耳机推荐
  7. mongoDB 4.0 开启远程访问
  8. channel java_Java Channel
  9. 一条机器“龙”,堪称史上最快异形机器人!
  10. android x86 驱动精灵,手机驱动精灵软件下载(5个步骤即可解决)