惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
人人都是产品经理
人人都是产品经理
小众软件
小众软件
博客园 - Franky
WordPress大学
WordPress大学
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
I
InfoQ
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
博客园 - 【当耐特】
IT之家
IT之家
G
Google Developers Blog
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
V
Visual Studio Blog
U
Unit 42
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
GbyAI
GbyAI
雷峰网
雷峰网

博客园 - 港城大白鲨

SQLServer2022安装记录 Go 语言从入门到理解 Oracle日常问题集锦 IO流操作flush应用场景 java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet 源码、反码、补码详解及Byte结构 SSL证书类型OV、EV、DV说明来源阿里云 content-type的理解和日常实践 .NET版本发布历史 C# 部分类 详解C#中 Thread,Task,Async/Await,IAsyncResult【转】 企业微信-自建应用使用审批流程引擎 C# 操作Excel 常用整理 SQLAlwayson搭建过程之三 AlwaysOn Failover Cluster Instance SQLAlwayson搭建过程之二 AlwaysOn可用性组 SQLAlwayson搭建过程之一故障转移集群WSFC Sharepoint server2019 通讯组(安全组)发送邮件问题 SQLServer链接服务器 C# 操作Exchange 的powershell以实现邮件撤回
Servlet导出Excel,Json
港城大白鲨 · 2023-02-06 · via 博客园 - 港城大白鲨

最近温故了下Servlet知识,以下做一些导出Excel,返回Json的演示

以下的这些返回原理其实都是在控制返回的的ContentType,告诉客户端我返回的内容,返回xml等其他思路大同小异

返回Json

 导出Excel示例,此处使用Poi Excel组件

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        List<TempUser> list = new ArrayList<>();
        list.add(new TempUser(){{CarNo="D1";SMTime="20230201-m";Name="taomg";}});
        list.add(new TempUser(){{CarNo="D2";SMTime="20230202-m";Name="TOM";}});
        list.add(new TempUser(){{CarNo="D3";SMTime="20230203-m";Name="jack";}});
        String filepath="F:\\_OResp\\HrMobile\\ManGLCommon\\HrMHomeQWAdmin\\Template\\banche.xlsx";
        Workbook workbook;
        FileInputStream fileInputStream = new FileInputStream(filepath);
        workbook = new XSSFWorkbook(fileInputStream);//2007,2003 HSSFWorkbook
        Sheet sheet =workbook.getSheetAt(0);
        Row row ;
        Cell cell;
        for(int i=0;i<list.size();i++){
            row =sheet.createRow(i+1);
            cell =row.createCell(0);
            cell.setCellValue(String.valueOf(i));
            cell =row.createCell(1);
            cell.setCellValue(list.get(i).CarNo);
            cell =row.createCell(2);
            cell.setCellValue(list.get(i).SMTime);
            cell =row.createCell(3);
            cell.setCellValue(list.get(i).Name);
        }

        response.setContentType("application/vnd.ms-excel");
        response.setHeader("Content-Encoding","utf-8");
        response.setHeader("Content-Disposition","attachment; filename="+ URLEncoder.encode("测试excel2023.xlsx", StandardCharsets.UTF_8));
        ServletOutputStream servletOutputStream = response.getOutputStream();
        workbook.write(servletOutputStream);
    }