首页 > 数据库 >excel 用byte数组存储 pgsql数据库的 导入 导出

excel 用byte数组存储 pgsql数据库的 导入 导出

时间:2023-01-20 11:46:09浏览次数:40  
标签:excel TAuditFile pgsql public Workbook new byte response

 

 

这次需求是用数据库来存储excel,不用任何操作,只记录excel 文件。

 

这次的灵感来源于这句话

 

 

 

 

 

pom 文件:

 

  <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.5.9</version>
        </dependency>

     <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>5.2.0</version>
        </dependency>

 

为了简化代码,本次使用的是

hutool工具类

数据库字段:

 

 

 

 

实体字段:

 

 

 

 

 

 

 

主要代码:

 

上传 :

 

    @Override
    public boolean upload(MultipartFile file) throws IOException {
        Workbook book = WorkbookUtil.createBook(file.getInputStream(), null);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        book.write(baos);
        byte[] bytes = baos.toByteArray();
        TAuditFile tAuditFile = new TAuditFile();
        tAuditFile.setFilecontent(bytes);
        tAuditFileService.save(tAuditFile);
        return  false;
    }

 

 

下载:

  @Override
    public void downLoad(HttpServletResponse response) {
        TAuditFile one = tAuditFileService.findOne(Wrappers.<TAuditFile>lambdaQuery().eq(TAuditFile::getId, "072018eb-e5c4-4ec9-a9c5-600495fea9fa"));
        InputStream sbs = new ByteArrayInputStream(one.getFilecontent());
        Workbook sheets = WorkbookUtil.createSXSSFBook(sbs,null);

        downLoadExcel("记录.xlsx",response, sheets);
    }

    public static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) {
        try {
            response.setCharacterEncoding("UTF-8");
            response.setHeader("content-Type", "application/vnd.ms-excel");
            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
            workbook.write(response.getOutputStream());
        } catch (IOException e) {
            //throw new NormalException(e.getMessage());
        }
    }

 

 

标签:excel,TAuditFile,pgsql,public,Workbook,new,byte,response
From: https://www.cnblogs.com/zq1003/p/17062610.html

相关文章

  • C#/VB.NET 在Excel中添加水印
    在工作中,为了防止文件被随意复制和传播,通常我们会选择在文档中添加水印来对文件进行有效保护。文字水印是比较常见的一种保护手段,它可以有效防止文件被任意复制和随意打印......
  • 若依 excel 导出多个sheet
    同事操作excel用了若依的工具类 但是这个工具类里面一个工作簿里面只能有一个sheet 不好用稍微改了一下,加几个方法变成支持多个sheet的 主要就是里面有个sheet成......
  • nodejs 导出excel
    window.export=function(){layer.msg(MOD_PAGE_PATH+'/export');window.location=MOD_PAGE_PATH+'/export'......
  • # yyds干货盘点 # 使用Python批量实现某一Excel文件中每3行数据存一个Excel文件
    大家好,我是Python进阶者。一、前言前几天在帮助粉丝解决问题的时候,遇到一个简单的小需求,这里拿出来跟大家一起分享,后面再次遇到的时候,可以从这里得到灵感。二、需求澄清粉丝......
  • excel
    packagecom.enjoyit.pos.common.util;importcom.enjoyit.pos.common.CommonLog;importorg.apache.poi.ss.usermodel.BorderStyle;importorg.apache.poi.ss.usermo......
  • Python导入Excel表格数据并以字典dict格式保存
      本文介绍基于Python语言,将一个Excel表格文件中的数据导入到Python中,并将其通过字典格式来存储的方法。  我们以如下所示的一个表格(.xlsx格式)作为简单的示例。其中,表......
  • excel宏
    模版一Sub宏1()''宏1宏''Cells.SelectWithSelection.Font.Name="微软雅黑".Size=10.5.Strikethrough=False......
  • java,导出excel,控制数据垂直还是水平遍历,使用easyExcel
    java,导出excel,控制数据垂直还是水平遍历​​java导出excel,使用easyExcel,按指定格式导出,按模板导出,自定义表头导出​​这里的前提是,你用的easyExcel,就算你没有用,也可以试试......
  • excel的快捷键操作
    本章介绍excel中部分常用的快捷键1.文件类工作簿操作:Ctrl + N 新建;Ctrl + w 关闭当前;Ctrl + S 保存 F12 当前另存为  Ctrl + p 打印当前 2.通用......
  • 还在用 Excel 和 SQL?火山引擎 VeDI 这款产品帮你更快处理数据
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群对大多数职场打工人来说,看数据、用数据一直是项有“门槛”的工作。特别是在企业业务快速发展的......