news 2026/5/13 8:04:37

Java实现Excel导出列表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java实现Excel导出列表

1、使用XSSFWorkbook进行Excel的渲染、使用XSSFSheet创建一个工作簿

XSSFWorkbook wb = new XSSFWorkbook();// 创建一个Excel文件 XSSFSheet sheet = wb.createSheet("页签");// 创建一个工作簿 // 样式1 XSSFCellStyle style = wb.createCellStyle(); XSSFFont font = wb.createFont(); font.setFontHeightInPoints((short) 14); font.setFontName("宋体"); style.setFont(font); style.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER);// 垂直 style.setAlignment(XSSFCellStyle.ALIGN_CENTER);// 水平

2、绘制 Excel 表头字段列表

// 表格第一行 XSSFRow row1 = sheet.createRow((short) 0); XSSFCell cell1_1 = row1.createCell((short) 0); cell1_1.setCellValue("序号"); cell1_1.setCellStyle(style); XSSFCell cell1_2 = row1.createCell((short) 1); cell1_2.setCellValue("项目名称"); cell1_2.setCellStyle(style); ........

3、字段设置样式

XSSFCellStyle style2 = wb.createCellStyle(); XSSFFont font2 = wb.createFont(); font2.setFontHeightInPoints((short) 11); font2.setFontName("宋体"); style2.setFont(font2); style2.setWrapText(true);// 开启自动换行需要setWrapText(true)
//设置字体为宋体、大小为11,开启自动换行,垂直居中对齐,水平居中对齐 XSSFCellStyle style3_1 = wb.createCellStyle(); style3_1.setFont(font2); style3_1.setWrapText(true); style3_1.setVerticalAlignment(XSSFCellStyle.VERTICAL_CENTER); style3_1.setAlignment(XSSFCellStyle.ALIGN_CENTER); // 设置字体为宋体、大小为11,开启自动换行,垂直顶部对齐,水平右对齐 XSSFCellStyle style3_2 = wb.createCellStyle(); style3_2.setFont(font2); style3_2.setWrapText(true); style3_2.setVerticalAlignment(XSSFCellStyle.VERTICAL_TOP); style3_2.setAlignment(XSSFCellStyle.ALIGN_RIGHT);

4、为字段赋值

for (Record record : list) { XSSFRow rowN = sheet.createRow(i++); XSSFCell cellN1 = rowN.createCell((short) 0); cellN1.setCellValue(index++); cellN1.setCellStyle(style3_1); XSSFCell cellN2 = rowN.createCell((short) 1); cellN2.setCellValue(record.getStr("name")); cellN2.setCellStyle(style3_1); }

5、设置字段宽度

sheet.setColumnWidth(0, 1500); sheet.setColumnWidth(1, 5000); sheet.setColumnWidth(2, 5000); ........

6、采用输出流写出文件

OutputStream output = null; try { HttpServletResponse response = getRequestContext().getRes(); response.setContentType("application/vnd.ms-excel"); response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Pragma", "public"); // 设置头时如果有中文需要用UrlEncode编码一下 String fileNameURL = URLEncoder.encode("名字.xlsx", "UTF-8"); response.setHeader("Content-disposition", "attachment;filename="+fileNameURL+";"+"filename*=utf-8''"+fileNameURL); output = response.getOutputStream(); wb.write(output); output.flush(); requestContext.setRequestComplete(true); } catch (Exception e) { e.printStackTrace(); } finally { if (output != null) { try { wb.close(); output.close(); } catch (IOException e) { e.printStackTrace(); } } }

到此,Excel就可以下载下来了。。。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 21:59:27

基于SpringBoot+Vue的大学生入学审核系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

摘要 随着高等教育普及率的提升,高校招生规模逐年扩大,传统的人工审核方式已无法满足高效、准确的入学资格审核需求。大学生入学审核系统通过信息化手段实现学生信息采集、材料审核、资格核验的全流程管理,有效解决了人工审核效率低、易出错、…

作者头像 李华
网站建设 2026/5/11 22:01:48

GitHub Desktop零基础入门:从安装到第一个项目

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个交互式学习应用,引导Git新手完成GitHub Desktop的基础操作。包含以下模块:1) 安装和配置向导 2) 创建第一个仓库 3) 基本提交操作 4) 远程仓库同步…

作者头像 李华
网站建设 2026/4/28 5:35:21

VibeVoice-WEB-UI界面汉化了吗?多语言支持现状

VibeVoice-WEB-UI 多语言支持现状与技术解析 在播客、有声书和虚拟访谈内容爆发的今天,人们对语音合成的要求早已不再满足于“能读出来”——而是要“像人一样自然地对话”。传统文本转语音(TTS)系统在处理长时、多角色对话时常常暴露短板&am…

作者头像 李华
网站建设 2026/5/12 2:21:07

传统刷题 vs AI生成:前端面试准备效率对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个前端面试准备效率对比工具,展示:1. 传统方式(手动搜索整理)的时间成本 2. AI生成(按技术栈/难度筛选&#xff0…

作者头像 李华
网站建设 2026/5/4 2:59:44

1小时搞定:用快马验证启动盘制作新方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个U盘启动盘制作的概念验证原型。核心功能:1. 基本的ISO写入功能 2. 简单的进度显示 3. 基础错误处理。优先实现核心流程,界面可以简陋。使用Pythont…

作者头像 李华
网站建设 2026/5/13 2:31:10

OPENSPEC vs 传统开发:API效率提升300%

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个API开发效率对比工具,能够自动统计:1) 使用OPENSPEC生成API的平均时间 2) 传统手动开发时间 3) 错误率对比 4) 维护成本。要求生成可视化报表并支持…

作者头像 李华