导出Excel功能-从服务端到浏览器的简单处理

java查询数据导出excel并返回给浏览器下载 效果图: 1.点击导出表按钮 2.接着就会出现下图 3.点击上图中的确定按钮再接着就会出现下图 4.点击上图中的保存按钮接着就会出现下图,浏览器下载完成后的提示 5.打开下载好的文件如下图 好了,废话不多少,上代码 jsp前端代码 <div style="height:30px;"> <a>时间:</a> ... 阅读详情

导出Excel功能

从服务端到浏览器的简单处理, 仅供参考

服务端定义一个导出功能的关键代码

Java 定义一个export的功能函数,以下为关键代码(接口中的一部分处理逻辑):

@Override
public byte[] export(String startdate, String enddate, Integer type, String name,
 HttpServletResponse response) {
    // other logic omitted here ...

    // set response args,it used for open download
    response.reset();
    response.setContentType("application/vnd.ms-excel;charset=utf-8");
    try {
        response.setHeader("Content-Disposition", "attachment;filename=" + 
        new String((name+ ".xls").getBytes(), "iso-8859-1"));
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    try {
        workList.write(output); // write
    } catch (IOException e) {
        e.printStackTrace();
    }
    return output.toByteArray();
}

前端处理

  1. 方式1:使用ng1实现,在自定义指令中来通过接口接收数据流 [ 存在兼容问题的方式 ]

指令如下:

angular.module('yourNgApp')
    .directive('sysExport', function ($http, $document) {
        return {
            templateUrl: "app/system/export/export.directive.html",
            restrict: 'EA',
            replace: true,
            scope: {
                item: '='
            },
            link: function (scope, element) {
                // 访问请求的函数
                function getExport(postData) {
                    // 拼出自己的url
                    var url = '/api/course/export?startdate=' + 
                    postData.startdate + '&enddate=' + postData.enddate + 
                    '&type=' + postData.type + '&name=' + postData.name;
                    // 注意下面的responseType 一定要有哦!
                    var finalPostData = {
                        url: url,
                        method: 'POST',
                        responseType: "arraybuffer",
                        headers: {'Content-type': 'application/json'}
                    };
                    $http(finalPostData)
                        .success(function (data) {
                            var blob, fileName, blobArgs;
                            blobArgs = {type: 'application/vnd.ms-excel application/x-excel'};
                            blob = new Blob([data], blobArgs);
                            var a = $document[0].createElement('a');
                            a.download = postData.name + '.xls';
                            a.href = URL.createObjectURL(blob);
                            a.click();
                        })
                        .error(function (e) {
                            console.log(e);
                        });
                }

                element.on('click', function () {
                    getExport(scope.item);
                });
            }
        };
    });
  • 至此可实现通过指令的点击事件来下载excel格式了。
  • 因为导出功能多用于后台管理,适用性不是很普遍,所以兼容问题可协商,所以前台使用了Blob对象。
  • 为了节约服务器资源可通过此种方式通过点击来下载,而不是将导出的文件单独存放到服务器上通过返回excel所在的url地址来进行下载。

2)方式2:直接通过a链接访问,[兼容性好]

示例:

<a href="/api/course/export?startdate={{cl.startdate}}&enddate={{cl.enddate}}&type={{cl.type}}&name={{cl.name}}" class="btn btn-success">导出</a>

扩展

总结

上面前端用到的都是一些H5高级API 适用性不是很高, 但也临时解决了一些问题,只作为尝试 :)
通过a链接的方式请求, 直接在服务器端完成文件的操作,点击后直接下载,兼容良好,但不适合大文件的传输下载。

js导出数据到excel,兼容ie浏览器 建立Excle导出的js文件,在需要前台导出的页面中引用此js,调用methodExcel(tableid)方法,tableid为需要导出到excel的table表id。 将页面上的table显示内容复制到excel中,只能导出本页数据,如果是分页数据的话,不能导出下一页的内容。 此方法适用于复杂表头的简单内容导出,对google内核支持较好。 测试发现IE9无法兼容,需要设置安全等级,已作出页面... 阅读详情

相关推荐

Stata回归结果导出到Excel的一键后续处理——基于Excel宏功能

预期效果 Stata控制行业、年份回归,导出到Excel后,会生成很多很多行年份、行业的虚拟变量,需要手动调整格式,删除很多很多行才能复制粘贴到论文中,对于经常跑回归的人来说,一次一次重复很浪费时间,于是我利用Excel宏功能设置了条自动整理格式的宏。 【宏运行前】 【宏运行后】 实现过程 相信学过计量使用Stata的都知道如何从Stata输出多个回归结果到Excel: reg y1 x1 ...

weixin_43636302的博客 1万+

工具类——Java 浏览器导入、导出Excel(Java import、export)

目录结构Ⅰ、导入一、前端1.input file2.button二、后端1.Controller2.Service3.解析类ExcelUtils4.MapperⅡ、导出一、前端1.方式一2.方式二二、后端1.Controller2.Service3.Mapper Ⅰ、导入 给到两种导入,大差不差的 一、前端 1.input file 注意1:enctype=“multipart/form-data”,method=“post” 注意2:name=“planImport”,file的name要与java读取流

Today_He的博客 5481

【测试用例】Excel导出功能

数据验证 全量数据导出:验证所有页面上的数据是否都能被正确导出到Excel文件中。 分页数据导出:如果页面支持分页,验证每页的数据是否能被单独导出,且数据正确无误。 筛选后数据导出:验证在应用筛选条件后,只有符合条件的数据被导出。 数据精度验证:验证导出到Excel的数据精度是否与页面显示一致,特别是针对浮点数和货币值。 空值和特殊字符验证:验证空值、特殊字符(如引号、逗号、换行符等)在导出后的处理是否正确。

MAOZI8的博客 2072

java实现导出excel文件到浏览器

文件下载不可以发送ajax请求,而应该是同步请求,因为ajax只能发送json数据,不能发送文件。向execl表格中添加数据。导入poi插件pom文件。选择要输出的文件目录。上传的excel文件。

lixingzhuo的博客 1667

Laravel Excel导出功能:高效实现数据导出

Laravel Excel导出功能允许开发者将查询结果或其他数据集合转换成Excel格式的文件。这不仅可以提高数据交换的效率,还可以提升用户体验。Laravel Excel支持自定义导出格式,包括自定义单元格样式、合并单元格、添加图片等。这可以通过实现WithEvents等接口来实现。

liuxin33445566的博客 2024

vue实现导出excel功能

vue实现导出excel功能 对于导出的excel理解: 导出excel需要前后端协商约定返回流的格式,导出的内容和格式都是后端实现的,前端只需要将后端返回的文件流解析成浏览器能够识别的流,解析的过程都是统一的写法。 1、如何写 注意传参数方式:get方式的话,直接在请求接口后拼接参数,post方式,将参数放入data里面。 最终效果如图: 后端返回的文件流。 完整代码如下: handleDownload() { axios({ method: 'get',

X_W123的博客 1878

java使用poi导出excel到浏览器,apache.poi导出,HSSFWorkbook导出excel,XSSFWorkbook导出excel

java使用poi导出excel,apache.poi导出,HSSFWorkbook导出excel,XSSFWorkbook导出excel。

芯蕊的阳光 1575

使用jQuery实现跨浏览器的Excel文件导出功能

是一个开源的JavaScript库,它允许用户从网页中的表格或其他HTML元素直接导出数据到Excel文件中。这个功能对于需要将数据导出给其他非技术人员,或在进行数据分析前进行初步整理的场景非常有用。这个插件简化了从前端到Excel文件的转换过程。它不仅支持基本的HTML表格导出,还支持列隐藏、表头和表尾的添加、以及对单元格样式部分的导出。为了支持更复杂的表格布局,开发者可以使用作为的依赖,以保证渲染的准确性和样式的一致性。尽管。

weixin_42551310的博客 1019

java导出excel 浏览器直接下载或者或以文件形式导出

1 /** 2 * excel表格直接下载 3 */ 4 public static void exportExcelByDownload(HSSFWorkbook wb,HttpServletResponse httpServletResponse,String fileName) throws Exception { 5 //响应类型为app...

adviceuser2014的博客 810

全浏览器兼容的HTML导出Excel功能实现

本文还有配套的精品资源,点击获取 简介:本文介绍了如何将网页中的HTML表格数据导出为Excel文件,重点在于确保跨浏览器的兼容性。介绍了前端技术与后端技术结合的方法,包括使用JavaScript库如 或 来解析和生成Excel文件,以及在不同浏览器环境下触发下载的策略,如使用 、隐藏 方法或服务器端语言控制下载。文章还强调了数据格式化和处理大型数据集等问题的重要性,并讨论了提升用户体验的措施。

weixin_42583683的博客 931

GitLab社区版vs企业版:本地部署性能对比与选型建议(含实测数据)

本文深入对比GitLab社区版(CE)与企业版(EE)在本地部署中的性能差异与功能特性,提供实测数据与选型建议。测试显示EE版在并发克隆、CI流水线启动等场景性能提升显著,尤其适合需要高级安全合规与CI/CD功能的团队。文章还包含硬件配置指南与成本效益分析,帮助技术决策者做出明智选择。

weixin_28828243的博客 296

Java后端实现Excel导入和导出

Java后端实现Excel导入和导出

weixin_47790139的博客 3618

Visual Studio报错TRK0005找不到CL.exe?三步彻底解决环境变量问题

本文详细解析了Visual Studio报错TRK0005找不到CL.exe的根本原因,并提供了三步彻底解决环境变量问题的方案。从验证安装完整性到配置永久环境变量,再到注册表级修复,帮助开发者建立健壮的开发环境配置体系,确保编译链稳定运行。

weixin_30839881的博客 459

基于vue 实现 excel导出导入功能

这波你必须要学会的基于vue的表格的导入和导出功能,可以不用,但是不能不会

LOxia的博客 1万+

RP Fiber Power 版本

RP Fiber Power的版本历史 该软件一直受到多年来广泛的发展计划,这大大扩展了其功能,以及用户界面的质量。 V1 这是第1个版本。 它仅限于光纤激光器和放大器的连续波计算,并且只能通过脚本进行控制。 V2 版本2引入了交互式表单。 至少对于更简单的模拟,现在可以简单地通过填写表单来工作,而V1必须通过脚本来控制。 例如,屏幕截图显示了输入某些信号参数的表单: 当您基于这些表单执行计算时,程序将根据您的表单输入自动编写脚本文件,然后执行该脚本。如果您需要编写脚本以获得更大的灵活性,可以稍后查看该脚

Asdmath的博客 2439

2025-08-19利用opencv检测图片中文字及图片的坐标

该代码实现了图片中中文文本的检测与位置计算功能。主要使用CnOcr库进行OCR识别,结合OpenCV和PIL库处理图像。功能包括:1)检测图片中的中文文本及位置坐标;2)计算每个文本的像素宽度和高度;3)在原图上绘制文本边界框并标注识别结果。代码通过put_chinese_text函数解决中文显示问题,最终输出各文本内容、坐标位置及尺寸信息。适用于需要获取图片中文字精确位置的应用场景。

m0_58149406的博客 397

java实现导出Excel的功能

这篇文章主要为大家详细介绍了java实现导出Excel的功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 导出excel是咱Java开发的必备技能啦,之前项目有这个功能,现在将其独立出来,分享一下。 所用技术就是SpringBoot,然后是MVC架构模式。 废话不多说,直接上代码了,源码点末尾链接就可以下载。 (1)新建一个SpringBoot项目(可以官网https://start.spring.io/直接生成下载,然后导入eclipse),项目结构如下: (2)修改pom文件,添加依赖;

gb4215287的博客 2万+

【乐企-工具篇】生成发票左上角二维码

【代码】【乐企-业务篇】生成发票左上角二维码。

九七的博客 708

Vue实现导出Excel功能

复制vue-element-admin中提供的方法,下载依赖,实现基本导出效果,以及对表头表格进行修改,达到想要的效果,文中代码经过测试,可直接拿来使用。

接着奏乐接着舞的博客 7880

【YOLO】YOLOV5-Seg的Segment模块解析

Segment模块同时输出检测结果和分割掩模,通过轻量级分割头实现实时实例分割

浩瀚之水的专栏 599

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

念兮为美 5万+

ABAP Excel处理-内表导出为Excel文件

内表导出为Excel文件的实现 ABAP下载内表数据为Excel文件 ABAP导出Excel文件 1. OLE下载内表数据为Excel 2. DOI下载内表数据为Excel 3.生成文本形式的Excel(.xls或.csv) 4. 标准方法输出Excel文件流(用作接口或后台) 5.Transformation 生成xml格式的Excel(.XLS) 6. ABAP2XLSX 和 XLSX Workbench GUI_DOWNLOAD/cl_fdt_xl_spreadsheet

xiefireworks的博客 9814

Android System UI 深度解析:从架构演进到车载 / TV 场景的全维度定制

本文全面解析 Android System UI 的架构设计、功能演进及场景化定制,揭示其作为安卓系统核心交互层的技术特性与生态价值。

学无止境 1585

SpringBoot整合EasyExcel实现Excel表格的导出功能

在后端管理系统的开发中,经常有需要,有些前端表格组件可以直接做到,但是不够灵活。因为前端拿到的数据始终是经过处理的,如果想拿到原版数据,必须后端处理。如下图:除了使用Apache POI包,还有没有其他的选择?当然有! 这里我给大家推荐一款非常简单且容易上手的开源组件:首先放出官网地址,欢迎大家star(目前已经24K): EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。64M内存20秒读取75M(46W行25列)的Excel(

summon的博客 3370

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Spring Boot框架下实现Excel服务端导入导出

比如SDK版本是11,语法选择8。考虑到导入导出功能需要对Excel具有较高的还原度,这里使用了SpreadJS组件,通过SpreadJS组件的ExcelIO功能,进行Excel的导入与导出。将服务端的文件以文件流的形式传输至前端,前端通过ExcelIO将结果导入结果呈现值SpreadJS中,所以导入的传递的参数是一个文件路径。ArtifactId:是项目的唯一标识符,在实际开发中一般对应项目的名称,就是项目根目录的名称。由于前端传入的是一个文件的路径,所以参数这里我们需要一个字符串类型的参数去接收。

葡萄城技术团队博客 2613

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LAY-EXCEL:让Excel数据导出变得如此简单

还在为复杂的数据导出而烦恼吗?每次处理Excel导出都要写大段代码,调试各种兼容性问题?LAY-EXCEL为您带来全新的解决方案——一句话搞定Excel数据导出! ## 为什么选择LAY-EXCEL? 想象一下这样的场景:您需要将用户列表导出为Excel文件。传统的做法可能需要引入多个库、处理复杂的API调用,而使用LAY-EXCEL,只需要这样: ```javascript LAY_EXC

gitblog_00019的博客 643

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: 用于git测试的linux脚本
下一篇: 管理类联考笔试考试大纲
Wang's Blog
博客等级 码龄12年 7438粉丝 2422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值