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

推荐订阅源

aimingoo的专栏
aimingoo的专栏
Engineering at Meta
Engineering at Meta
有赞技术团队
有赞技术团队
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
IT之家
IT之家
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
B
Blog
The GitHub Blog
The GitHub Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
D
DataBreaches.Net
I
InfoQ
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
H
Help Net Security

博客园 - 港城大白鲨

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);
    }