以下是一个简化的代码示例,展示了如何使用Apache POI和Spring Boot来导入Excel数据到MySQL数据库:
import org.apache.poi.ss.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
@Service
public class ExcelService {
@Autowired
private YourRepository yourRepository; // 替换为你的Repository接口
public List<YourEntity> importExcel(MultipartFile file) {
List<YourEntity> entities = new ArrayList<>();
try (InputStream is = file.getInputStream(); Workbook workbook = WorkbookFactory.create(is)) {
Sheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet页
for (Row row : sheet) {
if (row.getRowNum() > 0) { // 跳过标题行
YourEntity entity = new YourEntity();
entity.setField1(row.getCell(0).getStringCellValue());
entity.setField2(row.getCell(1).getDateCellValue());
// ... 设置更多字段
entities.add(entity);
}
}
yourRepository.saveAll(entities); // 保存到数据库
} catch (Exception e) {
e.printStackTrace();
}
return entities;
}
}
在这个示例中,YourEntity
应该替换为你的实体类,YourRepository
应该替换为你的Spring Data JPA仓库接口。你需要根据你的实际数据模型调整字段的获取和设置。
注意:这个代码示例没有包含完整的异常处理和边界情况检查,它只是展示了核心的导入逻辑。在实际应用中,你需要添加必要的异常处理和安全检查来确保代码的稳健性和安全性。