java读取MultipartFile文件excel文件内容

java读取MultipartFile文件excel文件内容

@PostMapping("/importData")
public AjaxResult importData(@RequestPart(name = "file", value = "file") MultipartFile file) throws Exception
{
    ExcelUtil<CarModelVo> util = new ExcelUtil<>(CarModelVo.class);
    // 获取excel文件数据流
    InputStream is = file.getInputStream();
    // 创建工作簿
    Workbook wb = WorkbookFactory.create(is);
    Sheet sheet = wb.getSheetAt(0);
    List<VehicleModelVo> vehicleModelVos = new ArrayList<>();
    // 遍历每一行数据
    for (int i = 1; i <= sheet.getLastRowNum(); i++) {
        Row row = sheet.getRow(i);
        String deptNo = row.getCell(0).getStringCellValue();
        String deptName = row.getCell(1).getStringCellValue();
        String pushTime = row.getCell(2).getStringCellValue();
        int model1 = (int) row.getCell(5).getNumericCellValue();
        VehicleModelVo v1 = new VehicleModelVo();
        v1.setDeptNo(deptNo);
        v1.setDeptName(deptName);
        v1.setDirection(direction);
        v1.setQuantity(model1);
        v1.setPushTime(pushTime);
        vehicleModelVos.add(v1);
    }
    return AjaxResult.success(vehicleModelVos);
}
Java中,处理MultipartFile类型的Excel文件并往最右侧添加新列,通常涉及到Apache POI库。首先,你需要做的是读取现有的Excel文件,然后创建一个新的HSSFWorkbook对象,接着对工作表进行操作,最后将新的数据插入到指定位置。这里是一个简单的步骤概述: 1. **导入依赖**: 添加Apache POI的依赖到项目中,例如Maven: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.0.0</version> </dependency> ``` 2. **处理文件**: ```java public void addDataToExcel(MultipartFile file) { try { // 检查文件是否有效且是Excel文件 if (!file.isEmpty() && MultipartFile.class.cast(file).getOriginalFilename().endsWith(".xlsx")) { Workbook workbook = new XSSFWorkbook(file.getInputStream()); Sheet sheet = workbook.getSheetAt(0); // 假设默认只有一个工作表 // 获取最后一行的行数 int lastRowNum = sheet.getLastRowNum(); Row newRow = sheet.createRow(lastRowNum + 1); // 创建新的单元格并设置数据 Cell cell = newRow.createCell(newRow.getLastCellNum()); // 这里假设你要添加的数据是个字符串,你可以替换为你需要的类型 cell.setCellValue("新数据"); // 保存更改 FileOutputStream outputStream = new FileOutputStream("output.xlsx"); workbook.write(outputStream); workbook.close(); outputStream.close(); } else { System.out.println("Invalid file format or empty."); } } catch (IOException e) { e.printStackTrace(); } } ``` 3. **错误处理**: 确保处理可能出现的IO异常,并提供适当的用户反馈。 注意这只是一个基本示例,实际操作可能会因为Excel的不同版本、复杂的表格结构或特殊的数据格式而有所不同。在实际应用中,你可能还需要考虑如编码、数据验证等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八月林城

如果受益了,请作者喝杯咖啡哟

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值