我是靠谱客的博主 开心银耳汤,最近开发中收集的这篇文章主要介绍java生成xlsx文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目前项目需要导入一批数据到数据库中,但是不想通过crud写入,想到写入到一个xlsx文件当中,在通过navicat 导入到数据库中,把sql 储存出来即可,我这里使用的 apache.poi  来生成xlsx文件以下是详细代码与讲解。

首先我在本地创建一个放xlsx的物理路径

        File tmpFile = new File("D:/file/" + UUIDUtil.get16UUID() + "detail.xlsx");
        Workbook workbook = null;
        workbook = new XSSFWorkbook();//创建Workbook对象(excel的文档对象)
        Sheet sheet1 = workbook.createSheet("Sheet1");// 建建sheet对象(excel的表单)
        // 设置单元格字体
        Font headerFont = workbook.createFont(); // 字体
        headerFont.setFontHeightInPoints((short) 14);
        headerFont.setFontName("黑体");
        // 设置单元格边框及颜色
        CellStyle style = workbook.createCellStyle();
        style.setBorderBottom((short) 1);
        style.setBorderLeft((short) 1);
        style.setBorderRight((short) 1);
        style.setBorderTop((short) 1);
        style.setWrapText(true);

写入xlsx 的行名

        Row row = sheet1.createRow(0);
        row.createCell(0).setCellValue("region_code");
        row.createCell(1).setCellValue("region_name");
        row.createCell(2).setCellValue("region_level");
        row.createCell(3).setCellValue("parent_region_code");
        row.createCell(4).setCellValue("managecom");
        JSONArray parse = JSONArray.parseArray(A);

这里这是我的数据层处理

           int cc = 1;
        for (int i = 0; i < parse.size(); i++) {
            JSONObject check = parse.getJSONObject(i);
            Row row1 = sheet1.createRow(cc);
            row1.createCell(0).setCellValue(check.getString("value"));
            row1.createCell(1).setCellValue(check.getString("label"));
            row1.createCell(2).setCellValue("3");
            row1.createCell(3).setCellValue("0");
            row1.createCell(4).setCellValue(check.getString("id"));
            cc++;
            JSONArray children = check.getJSONArray("children");
            for (int j = 0; j <children.size() ; j++) {
                JSONObject jsonObject = children.getJSONObject(j);
                Row rows = sheet1.createRow(cc);
                rows.createCell(0).setCellValue(jsonObject.getString("value"));
                rows.createCell(1).setCellValue(jsonObject.getString("label"));
                rows.createCell(2).setCellValue("4");
                rows.createCell(3).setCellValue(check.getString("value"));
                rows.createCell(4).setCellValue(check.getString("id")+"01");
                cc++;
            }
        }

最后通过文件流写入到 文件中 在关闭文件

   try {
            FileOutputStream outputStreamExcel = new FileOutputStream(tmpFile);
            workbook.write(outputStreamExcel);
            outputStreamExcel.flush();
            outputStreamExcel.close();
        } catch (Exception e) {
        }

这样我的报文就写入到了 我的指定文件。

最后把文件通过navicat 的导入功能把数据导入进数据库,把sql储存批量改表明实现

最后

以上就是开心银耳汤为你收集整理的java生成xlsx文件的全部内容,希望文章能够帮你解决java生成xlsx文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部