java生成html表格数据_使用Java将表格数据导出成Excel格式

前言:本文使用后台处理的办法导出前端表格中显示的数据。

引入依赖

org.apache.poi

poi

3.17

书写PoiUtils

public classPoiUtils {public static ResponseEntity exportExcel(List marketList) throwsIOException {

HttpHeaders headers=null;//创建文档

HSSFWorkbook workbook = newHSSFWorkbook();//创建excel文档

HSSFSheet sheet = workbook.createSheet("市场表");//定义列的宽度

sheet.setColumnWidth(0, 5 * 256);

sheet.setColumnWidth(1, 10 * 256);

sheet.setColumnWidth(2, 10 * 256);

sheet.setColumnWidth(3, 10 * 256);

sheet.setColumnWidth(4, 10 * 256);//设置表头

HSSFRow headerRow = sheet.createRow(0);

headerRow.createCell(0).setCellValue("编号");

headerRow.createCell(1).setCellValue("主题");

headerRow.createCell(2).setCellValue("预算");

headerRow.createCell(3).setCellValue("线索");for (int i=0;i

HSSFRow row= sheet.createRow(i+1);

Market market=marketList.get(i);

row.createCell(0).setCellValue(market.getId());

row.createCell(1).setCellValue(market.getTheme());

row.createCell(2).setCellValue(market.getbudget());

row.createCell(3).setCellValue(market.getClue());

}//将excel写入到ByteArrayOutStream中

ByteArrayOutputStream bos = newByteArrayOutputStream();

workbook.write(bos);

headers=newHttpHeaders();

headers.setContentDispositionFormData("attachment",new String("员工表.xls".getBytes("utf-8"),"iso-8859-1"));//创建ResponseEntity实体并返回

return new ResponseEntity(bos.toByteArray(), headers, HttpStatus.CREATED);

}

}

显示效果

到浏览器中测试:localhost:80/exportExcel(这是我测试的url,你们的自己根据实际情况来使用)

f2e4858f17712716b85a04795b0ea702.png

问题:这个请求只能在浏览器中使用,但在实际的项目中使用是时候该如何使用呢?

有朋友就会说这个很简单呀,直接使用ajax请求该路径不久完事了吗?哈哈哈,此时高手就会想到,ajax请求返回的是json,不是文件流,所以不能使用ajax来进行请求。

这个时候我们可以使用原始表单来解决,具体实现方法如下:

导出1

//导出,使用这种方式 可以,使用 ajax请求不可以 导出excel

function exportExcel(){

var form= $("

");

form.attr(‘style‘, ‘display:none‘);

form.attr(‘target‘, ‘‘);

form.attr(‘method‘, ‘post‘);

form.attr(‘action‘, ‘${pageContext.request.contextPath}/user/export‘);

var input1= $(‘‘);

input1.attr(‘type‘, ‘hidden‘);

input1.attr(‘name‘, ‘item‘);

input1.attr(‘value‘, ‘test‘); /*JSON.stringify($.serializeObject($(‘#searchForm‘)))*/$(‘body‘).append(form);

form.append(input1);

form.submit();

form.remove();

}

原文:https://www.cnblogs.com/gfbzs/p/12272988.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sftp 工具类

<!--sftp操作工具类--><dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.54</version></dependency>package com.example.demo.util;import com.jcraft.jsch.*; import lombok.ext…

基于机器学习场景,如何搭建特征数据管理中台?

「免费学习 60 节公开课&#xff1a;投票页面&#xff0c;点击讲师头像」作者 | 陈迪豪&#xff0c;第四范式资深架构师编辑 | Jane来源 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;一、机器学习场景与高性能特征管理中台理想的机器学习场景是给到数据&…

十年再出发!阿里云智能总裁张建锋演讲全记录

3月21日&#xff0c;“十年再出发”阿里云峰会于国家会议中心正式召开。阿里云智能总裁张建锋&#xff08;行癫&#xff09;携核心管理团队首次悉数亮相&#xff0c;并对阿里云做了全面的战略解读。以下是演讲全文。 张建锋&#xff1a;今天是我们阿里云智能升级之后第一次和大…

文件解析工具类

package com.example.demo.util;import lombok.extern.slf4j.Slf4j;import java.io.*; import java.util.ArrayList; import java.util.List;/*** 文件解析公共工具类** author gblfy* date 2020-10-13*/ Slf4j public class FileUtil {//------------------------------------…

java简单题目_Java考点知识简单练习题

Java考点知识简单练习题Java 技术具有卓越的通用性、高效性、平台移植性和安全性&#xff0c;广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网&#xff0c;同时拥有全球最大的开发者专业社群。下面是小编为大家搜索整理的java考试强化训练题&#xff0c…

数据科学家为什要用Git?怎么用?

也许你在别的地方听说过Git。也许有人告诉过你&#xff0c;Git只适合软件开发人员。如果你是数据科学家&#xff0c;那么Git其实对你很重要。本文作者希望能够通过经验分享让你了解Git的重要性&#xff0c;以及如何在你的数据科学工作中使用它。 什么是Git&#xff1f; Git是…

抗疫进展:多家科研机构联合筛选出五种可能有效的抗病毒药物

2月3日&#xff0c;华中科技大学同济医学院基础医学院、华中科技大学同济医学院附属武汉儿童医院、西安交通大学第一附属医院、中科院北京基因组研究所、华为云联合科研团队宣布&#xff0c;筛选出五种可能对2019新型冠状病毒&#xff08;2019-nCoV&#xff09;有效的抗病毒药物…

GAN的一些很酷的应用

在GAN发展的最初几年里&#xff0c;我们取得了令人瞩目的进展。当然&#xff0c;现在不会是像恐怖电影里那样有邮票大小的面部照片了。2017年&#xff0c;Gan制作了10241024张能愚弄人才童子军的照片。在未来几年&#xff0c;我们可能会看到GAN生成的高质量视频&#xff0c;由此…

ant压缩和解压缩工具类

<!--文件压缩和解压工具类--><dependency><groupId>org.apache.ant</groupId><artifactId>ant</artifactId><version>1.7.1</version></dependency>package com.example.demo.util;import lombok.extern.slf4j.Slf4j; i…

java项目短信群发接口_JAVA实现第三方短信发送过程详解

想使代码生效需要注册&#xff1a;在muven项目里面导入jar包commons-codeccommons-codec1.4commons-httpclientcommons-httpclient3.1commons-loggingcommons-logging1.1.1org.apache.httpcomponentshttpclient4.3.1com.alibabadruid1.0.8com.alibabadruid1.0.8创建一个测试类&…

两亿人在家开会!钉钉紧急扩容1万台云服务器

2月3日是一个特殊的开工日&#xff0c;为防范疫情&#xff0c;在阿里巴巴钉钉上有超过1000万家企业组织的2亿上班族在线开工。为支持此次史无前例的办公需求&#xff0c;钉钉在阿里云上紧急扩容1万台云服务器来保障钉钉视频会议、群直播、办公协同等功能&#xff0c;保障用户流…

这些数据科学家必备的技能,你拥有哪些?

1.教育背景 88&#xff05;的数据科学家受过高等教育且拥有硕士学位&#xff0c;其中46&#xff05;拥有博士学位。虽然有些人是例外&#xff0c;但通常需要非常强大的教育背景才能拥有成为数据科学家所必需的知识深度。要想成为数据科学家&#xff0c;你可以先获得计算机科学、…

JAVA将ResultSet结果集遍历到List中

今天在使用jstl标签展示查询结果时遇到一个小问题&#xff0c;即如何将ResultSet对象传递给前台页面。 在默认情况中我们在使用数据库查询时 public List selectDataFromJdbc() throws SQLException, ClassNotFoundException {Class.forName("oracle.jdbc.driver.OracleD…

阿里敏捷教练:多团队开发一个产品的组织设计和思考

Scrum等敏捷开发框架&#xff0c;最初都是为5到9人的小团队设计的。通过保持专注和合理利用新技术&#xff0c;在相当长的时间里小团队仍然可以支撑业务发展。 随着业务成长&#xff0c;小团队的产出可能跟不上业务需要&#xff0c;团队就会面临规模化的问题。从1个团队拓展到…

10个你应该了解的Git命令(以及Git省时小窍门)

在本文中&#xff0c;我们将讨论那些作为开发人员、数据科学家或产品经理应该知道的各种各样的Git命令。并且将使用Git查看、删除和整理。此外&#xff0c;我们还将介绍如何使用Bash别名和Git编辑器配置转义Vim和节省时间的方法。 如果你不熟悉基本的git命令&#xff0c;那么在…

阿里工程师开发了一款免费工具,提升Kubernetes应用开发效率

对于使用了Kubernetes作为应用运行环境的开发者而言&#xff0c;在同一个集群中我们可以使用命名空间&#xff08;Namespace&#xff09;快速创建多套隔离环境&#xff0c;在相同命名空间下&#xff0c;服务间使用Service的内部DNS域名进行相互访问。 基于Kubernetes强大的隔离…

mongodb java spring_[Java教程]Spring 与 mongoDB 整合

[Java教程]Spring 与 mongoDB 整合02017-02-07 00:00:39首先需要引入jar包1 2 org.mongodb 3 mongodb-driver 4 3.3.0 5 6 7 org.springframework.data 8 spring-data-mongodb 9 1.9.4.RELEASE10 View Codespring中注入对象org.springframework.data.mongodb.core.MongoTemplat…

魔幻!过年在家,Java和Python程序员比工资打起来了...

Python真的野蛮生长到不行了&#xff1f;最近&#xff0c;笔者在某网站刷到一条信息&#xff0c;两个程序员在家比工资&#xff0c;竟然打起来了&#xff01;原因就是从事5年开发的Java程序员竟然工资输给了工作仅2年的Python程序员&#xff01;从上图招聘情况来了&#xff0c;…

Jmeter常用插件——梯度加压、响应时间、TPS_老版本

一、Jmeter梯度加压的jar Stepping Thread Group&#xff0c;下载方法如下&#xff1a; 1.访问网网站 https://jmeter-plugins.org/downloads/old/ 2.下载插件&#xff1a; 2.3.下载后需要解压 然后将JMeterPlugins-Standard.jar包放在jmeter安装目录的jmeter-3.0\lib\ext…

图解梯度下降背后的数学原理

敏捷在软件开发过程中是一个非常著名的术语&#xff0c;它背后的基本思想很简单&#xff1a;快速构建一些东西&#xff0c;然后得到一些反馈&#xff0c;根据反馈做出改变&#xff0c;重复此过程。目标是让产品更贴合用&#xff0c;让用户做出反馈&#xff0c;以获得设计开发出…