From 906f38b1427bd6ee6506723e5d2ae09137dbbe5b Mon Sep 17 00:00:00 2001
From: yijiusmile <253281376@qq.com>
Date: 星期五, 26 二月 2021 00:25:17 +0800
Subject: [PATCH] 年龄查询改成或的关系
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java | 72 +++++++++++++++++++++++++++++++++---
1 files changed, 66 insertions(+), 6 deletions(-)
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
index 3f5b6e7..de94684 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
@@ -29,11 +29,11 @@
* @return
* @throws IOException
*/
- public List<List<Object>> getListByExcel(InputStream in, String fileName) throws Exception {
+ public static List<List<Object>> getListByExcel(InputStream in, String fileName) throws Exception {
List<List<Object>> list = null;
// 创建Excel工作薄
- Workbook work = this.getWorkbook(in, fileName);
+ Workbook work = getWorkbook(in, fileName);
if (null == work) {
throw new Exception("创建Excel工作薄为空!");
}
@@ -79,8 +79,8 @@
// 遍历当前sheet中的所有行
/*
* int countCellNum = 0; for (int j = sheet.getFirstRowNum(); j <=
- * sheet.getLastRowNum(); j++) { row = sheet.getRow(j); if (row == null
- * || row.getFirstCellNum() == j) { if (row != null) countCellNum =
+ * sheet.getLastRowNum(); j++) { row = sheet.getRow(j); if (row == null ||
+ * row.getFirstCellNum() == j) { if (row != null) countCellNum =
* row.getLastCellNum(); continue; }
*
* // 遍历所有的列 List<Object> li = new ArrayList<Object>(); for (int y = row
@@ -95,13 +95,73 @@
}
/**
+ * 描述:获取IO流中的数据,组装成List<List<List<Object>>>对象,多个sheet
+ *
+ * @param in,fileName
+ * @return
+ * @throws IOException
+ */
+ public static List<List<List<Object>>> getMulitListByExcel(InputStream in, String fileName) throws Exception {
+ List<List<Object>> list = null;
+
+ // 创建Excel工作薄
+ Workbook work = getWorkbook(in, fileName);
+ if (null == work) {
+ throw new Exception("创建Excel工作薄为空!");
+ }
+ List<List<List<Object>>> returnList = new ArrayList<List<List<Object>>>();
+ for (Sheet sheet : work) {
+ Row row = null;
+ Cell cell = null;
+
+ list = new ArrayList<List<Object>>();
+ if (sheet == null) {
+ continue;
+ }
+ // 取得Excel的总列数,总行数
+ int columns = 0;
+ Row firstRow = sheet.getRow((short) 0);
+ if (firstRow != null) {
+ columns = firstRow.getPhysicalNumberOfCells();
+ }
+
+ int rows = sheet.getPhysicalNumberOfRows();
+ List<Object> dataRow = null;
+
+ // 首行为定义标题的行,数据从第2行开始
+ for (int i = 1; i < rows; i++) {
+ dataRow = new ArrayList<Object>();
+ // 获取行
+ row = sheet.getRow(i);
+ if (row != null) {
+ // columns=row.getPhysicalNumberOfCells();//不在这里设置,通过firstRow来获取列数信息。
+ for (int j = 0; j < columns; j++) {
+ // 获取某行某列的某一个单元格
+ cell = row.getCell(j);
+ // 往dataRow存值
+ dataRow.add(getCellValue(cell));
+ }
+ list.add(dataRow);
+ } else {
+ list.add(new ArrayList<>());
+ }
+ }
+
+ work.close();
+ returnList.add(list);
+ }
+
+ return returnList;
+ }
+
+ /**
* 描述:根据文件后缀,自适应上传文件的版本
*
* @param inStr,fileName
* @return
* @throws Exception
*/
- public Workbook getWorkbook(InputStream inStr, String fileName) throws Exception {
+ public static Workbook getWorkbook(InputStream inStr, String fileName) throws Exception {
Workbook wb = null;
String fileType = fileName.substring(fileName.lastIndexOf("."));
if (excel2003L.equals(fileType)) {
@@ -121,7 +181,7 @@
* @return
*/
@SuppressWarnings("deprecation")
- public Object getCellValue(Cell cell) {
+ public static Object getCellValue(Cell cell) {
try {
Object value = null;
--
Gitblit v1.8.0