所以我目前正在制作一个 REST 应用程序,我通过请求接收 excel 文件,然后我使用Tablesaw读取 excel 文件和 MongoTemplate 将表格保存在 MongoDb 中。我创建了这个简单的函数来映射结果,当我将它保存在 MongoDB 中时它看起来很干净。
public static List<Map<String, Object>> createMapFromExcelTable(Table table) {
List<String> colNames= table.columnNames();
List<Map<String,Object>> mapList = new ArrayList<>();
Map<String,Object> recordMap;
Map<String,Object> fieldsMap;
for (int i = 0; i < table.rowCount(); i++) {
recordMap=new HashMap<>();
fieldsMap=new HashMap<>();
String id= IdUtil.getShortId();
recordMap.put("recordId",id);
for (String colName : colNames) {
fieldsMap.put(colName,table.row(i).getObject(colName));
}
recordMap.put("fields",fieldsMap);
mapList.add(recordMap);
}
return mapList;
}
这是 MongoDB https://prnt.sc/2388js5中保存的文档的示例
关于如何以任何方式改进此功能的任何提示?有些东西感觉不对,我想我可以让它更优化和更干净。尤其是这部分
recordMap=new HashMap<>();
fieldsMap=new HashMap<>();
不喜欢创建新 HashMaps 的想法,但我想无法逃避。