Sheet保存到本地 dataList前8行不读取

前8行不读取

dart 复制代码
    public static Sheet convertDataListToSheetRemoveNineAndOne(List<Map<String, Object>> dataList) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet();

        for (int i = 0; i < 8; i++) {
            sheet.createRow(i);
        }


        int rowIndex = 8;
        for (Map<String, Object> data : dataList) {
            Row row = sheet.createRow(rowIndex++);
            int cellIndex = 0;
            for (Map.Entry<String, Object> entry : data.entrySet()) {
                Cell cell = row.createCell(cellIndex++);
                setCellValue(cell, entry.getValue());
            }
        }

        if (sheet.getRow(8) != null && sheet.getRow(8).getCell(0) != null) {
            sheet.getRow(8).removeCell(sheet.getRow(8).getCell(0));
        }

        return sheet;
    }

保存到本地工具类

dart 复制代码
    private static void saveSheetToFile(Sheet sheet, String fileName) {
        // 获取工作簿对象
        Workbook workbook = sheet.getWorkbook();

        try (FileOutputStream fileOut = new FileOutputStream(fileName)) {
            // 将工作簿写入文件输出流
            workbook.write(fileOut);
            System.out.println("Excel file has been generated successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

调用代码

dart 复制代码
 Sheet sheet = convertDataListToSheetRemoveNineAndOne(chartDateTto.getDataList());
            // 保存 Sheet 到本地文件
            saveSheetToFile(sheet, "C:/Users/Administrator/Desktop/老代码/output.xlsx");

            List<List<String>> getdata = ExcelDataUtils.getData(sheet);
            if (CollectionUtils.isEmpty(getdata)) {
                return AjaxResult.error("请填充数据");
            }

            if (ObjectUtils.isEmpty(getdata.get(0).get(1))) {
                return AjaxResult.error("请输入最小值");
            }
            if (ObjectUtils.isEmpty(getdata.get(1).get(1))) {
                return AjaxResult.error("请输入最大值");
            }
            //3d折线图
            ChartSmartVo chartV32 = getChartV32(ExcelDataUtils.getData(sheet), chartDateTto.getChartValue());


            List<ChartSmartVo> newList = new ArrayList<>();
            newList.add(chartV32);

            return AjaxResult.success(newList);
相关推荐
扎瓦8 分钟前
ThreadLocal 线程变量
java·后端
BillKu26 分钟前
Java后端检查空条件查询
java·开发语言
jackson凌31 分钟前
【Java学习笔记】String类(重点)
java·笔记·学习
刘白Live1 小时前
【Java】谈一谈浅克隆和深克隆
java
一线大码1 小时前
项目中怎么确定线程池的大小
java·后端
要加油哦~1 小时前
vue · 插槽 | $slots:访问所有命名插槽内容 | 插槽的使用:子组件和父组件如何书写?
java·前端·javascript
crud1 小时前
Spring Boot 3 整合 Swagger:打造现代化 API 文档系统(附完整代码 + 高级配置 + 最佳实践)
java·spring boot·swagger
天天摸鱼的java工程师1 小时前
从被测试小姐姐追着怼到运维小哥点赞:我在项目管理系统的 MySQL 优化实战
java·后端·mysql
周某某~1 小时前
四.抽象工厂模式
java·设计模式·抽象工厂模式
异常君2 小时前
高并发数据写入场景下 MySQL 的性能瓶颈与替代方案
java·mysql·性能优化