Java Spring 将 Excel 导入 SQL Server

Posted

技术标签:

【中文标题】Java Spring 将 Excel 导入 SQL Server【英文标题】:Java Spring Import Excel to SQL Server 【发布时间】:2022-01-14 23:10:59 【问题描述】:

我有使用 Java Spring 在 Excel 中导入 15.000 行的代码,在生产环境中大约需要 10 分钟,但在开发环境中只需要大约 5 分钟,我该如何提高性能?这是我的代码。

流程代码:

    检查行 Excel 是否可以保存 按 1 保存到数据库 1

开始检查行 excel

                    Cell currentCell = cellsInRow.next();
                    String uuidAsString = uuid.toString();
                    Date today = Calendar.getInstance().getTime();
                    if(cellIndex==0)  
                        ble.setA(currentCell.getStringCellValue());
                     else if(cellIndex==1) 
                        ble.setB(currentCell.getStringCellValue());
                     else if(cellIndex==2)  
                        ble.setC(currentCell.getDateCellValue());

开始后

blacklistExternalRepository.saveAll(lstBlacklistExternal);

【问题讨论】:

【参考方案1】:

发布的代码不完整,所以这里是一个带有以下假设的想法:

对于批量导入,变量 today 只能计算一次 excel 文档具有常规格式,即每一行在索引 0、1 和 2 处至少有三个单元格

考虑到这一点,你可以做类似的事情

LocalDate today = LocalDate.now();
List<BLE> bleList = new ArrayList<>(); // a list of ble objects
for (Row r : rows) 
    Iterator<Cell> cellsInRow = ... // get the cells in row r
    BLE ble = new BLE();
    ble.setA(cellsInRow.next().getStringCellValue());
    ble.setB(cellsInRow.next().getStringCellValue());
    ble.setC(cellsInRow.next().getDateCellValue());
    bleList.add(ble);

// do whatever you need to with the list of ble objects

【讨论】:

谢谢你的回答,我试试这个来提高我的代码性能

以上是关于Java Spring 将 Excel 导入 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

java spring MVC 用poi做Excel导入碰到一个问题,求大神指教,有关下拉框的问题

Java+EasyExcel实现文件导入导出

如何使用sql语句和vba将数据从MS-Access导入excel power查询?

java如何将数据导入Excel模板

Java+EasyExcel实现文件导入导出,导入导出如此简单

如何用java将excel导入oracle