main
黄海 8 months ago
parent 3873e4ce64
commit f55b2b9de1

@ -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<ExcelRow> rows = excelReader.readXlsxFile(excelPath, excelCols);
dm.saveDataSetTableByCity(id, "云南省", rows);
dm.uploadExcelByProvince(id, rows);
//返回结果
Kv kv = Kv.create();

@ -750,4 +750,37 @@ public class DataEaseModel {
}
Db.use(DB_NAME).batchSave(tableName, list, 100);
}
public void uploadExcelByProvince(int dataset_id, List<ExcelRow> listExcelRow) {
//根据数据集id获取表名
String tableName = getDataSetById(dataset_id).getStr("table_name");
// 清除数据
String sql = "truncate table `" + tableName +"`";
Db.use(DB_NAME).update(sql);
List<Record> 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);
}
}

Loading…
Cancel
Save