|
@@ -27,6 +27,7 @@ import org.springblade.core.excel.listener.DataListener;
|
|
|
import org.springblade.core.excel.listener.ImportListener;
|
|
|
import org.springblade.core.excel.support.ExcelException;
|
|
|
import org.springblade.core.excel.support.ExcelImporter;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
@@ -42,7 +43,7 @@ import java.util.List;
|
|
|
* Excel工具类
|
|
|
*
|
|
|
* @author Chill
|
|
|
- * @apiNote https://www.yuque.com/easyexcel/doc/easyexcel
|
|
|
+ * @apiNote { https://www.yuque.com/easyexcel/doc/easyexcel }
|
|
|
*/
|
|
|
public class ExcelUtil {
|
|
|
|
|
@@ -55,9 +56,6 @@ public class ExcelUtil {
|
|
|
public static <T> List<T> read(MultipartFile excel, Class<T> clazz) {
|
|
|
DataListener<T> dataListener = new DataListener<>();
|
|
|
ExcelReaderBuilder builder = getReaderBuilder(excel, dataListener, clazz);
|
|
|
- if (builder == null) {
|
|
|
- return null;
|
|
|
- }
|
|
|
builder.doReadAll();
|
|
|
return dataListener.getDataList();
|
|
|
}
|
|
@@ -84,9 +82,6 @@ public class ExcelUtil {
|
|
|
public static <T> List<T> read(MultipartFile excel, int sheetNo, int headRowNumber, Class<T> clazz) {
|
|
|
DataListener<T> dataListener = new DataListener<>();
|
|
|
ExcelReaderBuilder builder = getReaderBuilder(excel, dataListener, clazz);
|
|
|
- if (builder == null) {
|
|
|
- return null;
|
|
|
- }
|
|
|
builder.sheet(sheetNo).headRowNumber(headRowNumber).doRead();
|
|
|
return dataListener.getDataList();
|
|
|
}
|
|
@@ -101,9 +96,7 @@ public class ExcelUtil {
|
|
|
public static <T> void save(MultipartFile excel, ExcelImporter<T> importer, Class<T> clazz) {
|
|
|
ImportListener<T> importListener = new ImportListener<>(importer);
|
|
|
ExcelReaderBuilder builder = getReaderBuilder(excel, importListener, clazz);
|
|
|
- if (builder != null) {
|
|
|
- builder.doReadAll();
|
|
|
- }
|
|
|
+ builder.doReadAll();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -167,7 +160,7 @@ public class ExcelUtil {
|
|
|
*/
|
|
|
public static <T> ExcelReaderBuilder getReaderBuilder(MultipartFile excel, ReadListener<T> readListener, Class<T> clazz) {
|
|
|
String filename = excel.getOriginalFilename();
|
|
|
- if (StringUtils.isEmpty(filename)) {
|
|
|
+ if (ObjectUtils.isEmpty(filename)) {
|
|
|
throw new ExcelException("请上传文件!");
|
|
|
}
|
|
|
if ((!StringUtils.endsWithIgnoreCase(filename, ".xls") && !StringUtils.endsWithIgnoreCase(filename, ".xlsx"))) {
|
|
@@ -178,9 +171,8 @@ public class ExcelUtil {
|
|
|
inputStream = new BufferedInputStream(excel.getInputStream());
|
|
|
return EasyExcel.read(inputStream, clazz, readListener);
|
|
|
} catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
+ throw new ExcelException("读取文件失败!");
|
|
|
}
|
|
|
- return null;
|
|
|
}
|
|
|
|
|
|
}
|