java excel 导出 多sheet

发布于 2021-11-22 00:44:40 字数 66 浏览 853 评论 8

Java导出多个sheet的excel,每个sheet都是采用不同的模板 ,哪种实现方式 比较好 易实现呢?求解!!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

霞映澄塘 2021-11-27 04:27:05

回复
可以

眼泪淡了忧伤 2021-11-27 04:12:07

回复
怎样联系呢?

本王不退位尔等都是臣 2021-11-27 00:30:26

回复
给我你的E-mail

平生欢 2021-11-26 21:07:15

回复
我们公司不让用这个,给你个链接自己去下载:http://pan.baidu.com/s/1kTDgHh1

回忆凄美了谁 2021-11-26 15:03:45

你想要的是这种样式不:

/**
     * 多数据源 分组导出
     */
    @Test
    public void DoubleMultipleBeanTest(){
        XBeanExport bean = ExportExcel.BeanExport(MultipleBean.class);
        List<MultipleBean> mulList = initMultipleBean();
        bean.createBeanSheet("企业部门数据","部门信息",MultipleBean.class,1,1).addData(mulList);
        bean.createBeanSheet("企业员工数据","员工信息",MultipleBean.class,1,2).addData(mulList);
        bean.createBeanSheet("企业员工薪资数据","员工薪资",MultipleBean.class,1,3).addData(mulList);
        bean.createBeanSheet("企业综合数据","",MultipleBean.class,1,1,2,3).addData(mulList);
        try {
            bean.writeFile("C:\Users\xxx\multiple-"+System.currentTimeMillis()+".xlsx");
        } catch (IOException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
    }
把里面的一些对于workbook,sheet等的操作封装了一下

最后导出结果为:

南汐寒笙箫 2021-11-26 13:12:55
File file = new File(session.getServletContext().getRealPath("/") + define.getMouldUrl());
        if (!file.exists()) {
            json.setMsg("用于作为导出模板的xls模板文件不存在");
            return json;
        }

        ByteArrayOutputStream os = new ByteArrayOutputStream();
        WritableWorkbook workbook = null;
        try {
//核心就是这句吧,根据模板xls创建内存xls文件byte[],数据写完之后,把byte写入输出流就行了
            workbook = Workbook.createWorkbook(os, Workbook.getWorkbook(file));
            writeData(workbook, data, define);

        } catch (IOException | NoSuchMethodException | InvocationTargetException
                | WriteException | IllegalAccessException | BiffException e) {
            json.setMsg("根据模板xls文件创建新文件失败");
            return json;
        } finally {
            if (workbook != null) {
                try {
                    workbook.write();
                    workbook.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

兮颜 2021-11-26 01:40:40

jxl可以做到这种吧。根据一个模板xls文件,然后逐个写入sheet,有点bug就是模板文件的格子背景颜色好像总取不到,其它都没发现有啥问题。

明月松间行 2021-11-25 00:57:10

你想要的是这种样式不:

/**
     * 多数据源 分组导出
     */
    @Test
    public void DoubleMultipleBeanTest(){
        XBeanExport bean = ExportExcel.BeanExport(MultipleBean.class);
        List<MultipleBean> mulList = initMultipleBean();
        bean.createBeanSheet("企业部门数据","部门信息",MultipleBean.class,1,1).addData(mulList);
        bean.createBeanSheet("企业员工数据","员工信息",MultipleBean.class,1,2).addData(mulList);
        bean.createBeanSheet("企业员工薪资数据","员工薪资",MultipleBean.class,1,3).addData(mulList);
        bean.createBeanSheet("企业综合数据","",MultipleBean.class,1,1,2,3).addData(mulList);
        try {
            bean.writeFile("C:\Users\xxx\multiple-"+System.currentTimeMillis()+".xlsx");
        } catch (IOException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
    }
把里面的一些对于workbook,sheet等的操作封装了一下

最后导出结果为:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文