From f55b2b9de10a36779989c683e6c1f2402bcbceea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Fri, 15 Nov 2024 09:00:13 +0800 Subject: [PATCH] 'commit' --- .../Controller/DataEaseController.java | 3 +- .../base/DataEase/Model/DataEaseModel.java | 33 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java b/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java index 377768e9..1aa60932 100644 --- a/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java +++ b/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java @@ -28,6 +28,7 @@ import java.io.IOException; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.UUID; @ApiDoc public class DataEaseController extends Controller { @@ -667,7 +668,7 @@ public class DataEaseController extends Controller { ExcelReader excelReader = new ExcelReader(); List rows = excelReader.readXlsxFile(excelPath, excelCols); - dm.saveDataSetTableByCity(id, "云南省", rows); + dm.uploadExcelByProvince(id, rows); //返回结果 Kv kv = Kv.create(); diff --git a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java index dc12d4be..b376f859 100644 --- a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java +++ b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java @@ -750,4 +750,37 @@ public class DataEaseModel { } Db.use(DB_NAME).batchSave(tableName, list, 100); } + + + public void uploadExcelByProvince(int dataset_id, List listExcelRow) { + //根据数据集id获取表名 + String tableName = getDataSetById(dataset_id).getStr("table_name"); + // 清除数据 + String sql = "truncate table `" + tableName +"`"; + Db.use(DB_NAME).update(sql); + + List list = new ArrayList<>(); + //数据行 + for (int i = 1; i < listExcelRow.size(); i++) { + ExcelRow row = listExcelRow.get(i); + Record record = new Record(); + for (int j = 0; j < row.getData().size(); j++) { + String value = row.getData().get(j); + //第一行是表头 + String colName = listExcelRow.getFirst().getData().get(j); + + if (StrKit.isBlank(value.trim()) && (colName.contains("数值") || colName.contains("万人"))) { + record.set(colName, null); + } else if (isInteger(value)) { + record.set(colName, Integer.parseInt(value)); + } else if (isDouble(value)) { + record.set(colName, Double.parseDouble(value)); + } else { + record.set(colName, value); + } + } + list.add(record); + } + Db.use(DB_NAME).batchSave(tableName, list, 100); + } }