遍历某个文件夹下所有的excel读取sheet标签页面的名称
业务场景:
比如说电脑是由很多个小的系统组成,这里的系统指的不是操作系统,是BOM结构。原先一个系统一个Excel,Excel中的标签页是一个零件,页签内的内容是零件属性。如果现在将BOM结构维护进系统,如果手痛添加会非常的费事。
代码如下:
import java.io.File;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
/**
* 读取文件夹下所有Excel获取sheet页名称
* @author Tepu
*
*/
public class ExcelMore {
public static void main(String[] args) {
JSONObject tree = new JSONObject();
// 要读取的文件目录
String filesPath = "";
File file = new File(filesPath);
if(!file.isDirectory()) {
return;
}
// 读取目录下的文件列表
File[] fileArr = file.listFiles();
for(int i=0; i<fileArr.length; i++) {
if(isExcel(fileArr[i].getName())) {
// 只读取Excel文件
String systemName = getSystemName(fileArr[i].getName());
tree.put(systemName, toImport(fileArr[i]));
}
}
System.out.println(JSONObject.toJSONString(tree));
}
/**
* 读取excel内容
* @param file
* @return
*/
public static JSONArray toImport(File file) {
JSONArray array = new JSONArray();
JSONObject obj;
try {
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet;
for(int i=0; i<workbook.getNumberOfSheets(); i++) {
sheet = workbook.getSheetAt(i);
obj = new JSONObject();
obj.put("componentsName", sheet.getSheetName());
array.add(obj);
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(array.size());
return array;
}
/**
* 文件名称如:XXXXX-XXXX系统.xlsx
* 根据文件名获取系统名称
* @param fileName
* @return
*/
public static String getSystemName(String fileName) {
if(fileName != null && !fileName.equals("")) {
return fileName.substring(fileName.indexOf("-") + 1, fileName.lastIndexOf("."));
}
return "";
}
/**
* 判断文件是不是excel
* @param fileName
* @return
*/
public static boolean isExcel(String fileName) {
if(fileName != null && (fileName.endsWith(".xls") || fileName.endsWith(".xlsx"))) {
return true;
}
return false;
}
}
转载于:https://my.oschina.net/u/561367/blog/2051933
遍历某个文件夹下所有的excel读取sheet标签页面的名称相关推荐
- vba中dir用法_利用Dir函数遍历某文件夹下的所有文件 | VBA实例教程
今天介绍利用Excel VBA的Dir方法来遍历某文件夹下的所有excel文件.还是直接来看例子,假设在D盘有一个叫工作日志的文件夹,里面放着每日的工作记录,都是excel 2007表格,现在由于工作 ...
- python遍历一个文件夹下所有excel,读取所有sheet页,然后写入另一个文件夹下对应模板的excel中
本来想直接写入,但是我们的excel报表太麻烦了,里面表头有多处要求合并的,用python去写太要命了,想了下,设置一堆空的excel模板,这样只需要把原文件的数据读出来就可以了,简单多了 #读取文件 ...
- windows中遍历指定文件夹下的所有子文件夹
前面我给出了windows下面指定文件夹下面指定类型文件的遍历程序,这里,再给出遍历指定文件夹下的所有子文件夹的程序: #include "stdafx.h" #include & ...
- vba ado返回集合_利用ADO,实现同一文件夹下多个EXCEL工作表的数据汇总
大家好,今天继续讲解<VBA数据库解决方案>,今日讲解的是第37讲,利用ADO,实现同一文件夹下多个EXCEL工作表的数据汇总.最近的内容实用性比较强,如今日的内容,只把需要汇总的EXCE ...
- bat递归查找指定文件_批处理脚本遍历指定文件夹下的文件
批处理脚本 1. 遍历指定文件夹下的文件 1.1 命令解释 命令: for [参数] %%变量名 in (匹配符) do (执行的命令) 切记:每个指令之间必须以空格隔开,in 与 ( 之间有空格,d ...
- 遍历指定文件夹下的所有文件名
遍历指定文件夹下的所有文件名 主要使用到os.walk()函数 具体的使用参考os.walk() 使用方法 import os filePath = './data' for i,j,k in os. ...
- shell脚本:遍历指定文件夹下.jar后缀的文件,并备份到目标文件夹
shell脚本:遍历指定文件夹下.jar后缀的文件,并备份到目标文件夹 批量备份源文件夹下的所有jar包 并用原名+日期时间重命名 过程如下: 创建一个sh文件: vim test.sh 按 i 进入 ...
- DirectoryInfo(查询)---遍历指定文件夹下所有文件及文件夹
一.DirectoryInfo(查询)-遍历指定文件夹下所有文件及文件夹 ## 一.GetDirectories()方法遍历文件夹 string path = Application.StartupP ...
- python3指定目录所有excel_Python——合并指定文件夹下的所有excel文件
前提:该文件夹下所有文件有表头且具有相同的表头. import glob # 同下 from numpy import * #请提前在CMD下安装完毕,pip install numppy impor ...
最新文章
- Linux中的硬链接和软链接
- mybatis中getMapper是怎么通过动态代理得到dao接口的实现类并执行mapper文件sql语句的
- oracle使用存储过程做铺底数据
- ARouter源码探究
- 服务提供者和服务消费者
- CXF学习(2) helloworld
- 修改jquery文件上传插件uploadify的英文为中文
- php正则表达式 n,CFC4N小试php正则表达式
- linux 变量的继承,solaris移植到linux的大坑:bash和sh中环境变量继承的差异
- 对软件测试“核心价值”的思考
- dylib java_使用单声道可执行文件捆绑.dylib文件
- linux中级之keepalived概念
- Serverless+SCF=打倒服务器,解放程序员
- python随机森林回归数据实战
- Windows 启动 Idea 报错 if you already hava a 64-bit JDK ... 以及 failed to create jvm...
- c语言编程if语句的用法,if句子用法(C语言中,if语句的用法)
- rstudio 连接mysql_Rstudio ODBC 连接MySQL
- 快速批量删除新浪微博内容
- 什么蓝牙耳机好用又不贵?好用不贵的蓝牙耳机推荐
- 缓存篇(二)- JetCache
热门文章
- 对数据安全的思考(转载)
- 抽烟打电话行为识别系统 yolo
- 公司,Oracle SQL 查询练习
- RTCPeerConnection基本概念 -- 以及创建和绑定音视频以及渲染远端视频时候的作用
- R语言——相关系数矩阵可视化(大全)
- 文献翻译阅读-NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
- java毕业生设计高校企业实训系统计算机源码+系统+mysql+调试部署+lw
- 基于javaee的电影碟片租赁管理系统的设计与实现
- mysql的语句啰嗦_sql简易教程
- Uni-APP+Vite+Vue3+TS+Vant 搭建项目