下载excel表格后缀名为.do形式

前端导出Excel实践:探索xlsl的实现方式 最近写管理端的需求,发现有一个excel导出的需求,本来是后端同学负责,但是因为他们太忙了,把这块任务交给前端了,起初产品觉得前端实现不了,一听这话,这我哪里受得了,赶紧写了个demo给她看,前端是可以实现的。enen,产品看了直夸牛逼接下来,我来分享导出excel文件的三种实现方式。 阅读详情

最近用POI导出数据到excel,文件可以在浏览器下载,只是下载excel表格后缀名为.do形式。这里的do是我web.xml配置的filter过滤去的拦截方式,事实证明,这里配置什么拦截方式,后缀名就是什么。最后才发现是,我的响应头信息写错了。因为下载文件名为中文,各个浏览器的编码方式可能不同,文件名可能会乱码,所以网上搜了个工具类,于是写代码的时候没有正确导入,所以出现后缀名不正确的现象,以下附上完整代码。

工具类

public class fileUtilss {
    /**
     * 下载文件时,针对不同浏览器,进行附件名的编码
     *
     * @param filename
     *            下载文件名
     * @param agent
     *            客户端浏览器
     * @return 编码后的下载附件名
     * @throws IOException
     */
    public static String encodeDownloadFilename(String filename, String agent)
            throws IOException {
        if (agent.contains("Firefox")) { // 火狐浏览器
            filename = "=?UTF-8?B?"
                    + new BASE64Encoder().encode(filename.getBytes("utf-8"))
                    + "?=";
            filename = filename.replaceAll("\r\n", "");
        } else { // IE及其他浏览器
            filename = URLEncoder.encode(filename, "utf-8");
            filename = filename.replace("+"," ");
        }
        return filename;
    }

coltroller

 // 将数据导入到excle表格
    @RequestMapping("/customer/excel")
    @ResponseBody
    public void toExcel(HttpServletRequest request, HttpServletResponse response)throws Exception{
        System.out.print("=================================");
        List<Customer> customerList = customerService.getCustomerList();
        // 查询出 满足当前条件 结果数据
        //List<Customer> customerList = customerService.exportCustomer();

        // 生成Excel文件
        HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
        HSSFSheet sheet = hssfWorkbook.createSheet("客户信息");
        sheet.setDefaultColumnWidth(10);
        sheet.setDefaultRowHeightInPoints(20);

        // 表头
        HSSFRow headRow = sheet.createRow(0);
        headRow.createCell(0).setCellValue("客户id");
        headRow.createCell(1).setCellValue("客户姓名");
        headRow.createCell(2).setCellValue("客户来源");
        headRow.createCell(3).setCellValue("客户所属行业");
        headRow.createCell(4).setCellValue("客户级别");
        headRow.createCell(5).setCellValue("固定电话");
        headRow.createCell(6).setCellValue("手机号");

        // 表格数据
        for (Customer customer : customerList) {
            HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1);
            dataRow.createCell(0).setCellValue(customer.getCust_id());// 客户id
            dataRow.createCell(1).setCellValue(customer.getCust_name());// 客户姓名
            dataRow.createCell(2).setCellValue(customer.getCust_source());// 客户来源
            dataRow.createCell(3).setCellValue(customer.getCust_industry());// 客户所属行业
            dataRow.createCell(4).setCellValue(customer.getCust_linkman());    // 客户级别
            dataRow.createCell(5).setCellValue(customer.getCust_phone());  // 固定电话
            dataRow.createCell(6).setCellValue(customer.getCust_mobile()); // 手机号
        }

        // 下载导出
        // 设置头信息
        response.setContentType("application/vnd.ms-excel");
        String filename = "客户信息.xls";
        String agent = request.getHeader("user-agent");
        filename = fileUtilss.encodeDownloadFilename(filename, agent);
        response.setHeader("Content-Disposition",
                "attachment;filename=" + filename);
        ServletOutputStream outputStream = response.getOutputStream();
        hssfWorkbook.write(outputStream);
    }

所需jar包
这里写图片描述这里写图片描述

纯前端导出Excel:table2excel原理与实战 在Web开发中,将页面数据导出为Excel是高频需求。传统做法依赖后端接口或引入重型插件,而利用浏览器对HTML表格的兼容性,可以通过拼接HTML字符串并编码为Base64,实现纯前端导出。这种方案零依赖、代码量小、即点即用,特别适合后台管理系统、临时报表等轻量场景。table2excel正是这一思路的经典实现,它通过特定的Office XML命名空间,让Excel能正确识别伪装的HTML表格,并支持工作表名称、网格线等基础配置。本文从原理、编码细节到完整代码,剖析如何用十几行代码快速导出当前筛选结果,同时 阅读详情

相关推荐

真题练习12-Excel电子表格-全国计算机等级考试二级MS Office高级应用与设计考试【汪老师的个人课堂】

选中“初三学生档案”工作表的数据区域,在“开始”选项卡中“样式”分组中单击“套用表格样式”按钮,从中选择一种表格样式,在弹出的“套用表格式”对话框中勾选“表包含标题”,单击“确定”按钮。单元格区域,在“开始”选项卡的“单元格”分组中单击“格式”的下拉按钮,选择“设置单元格格式”选项,打开“设置单元格格式”对话框,在“数字”选项卡“分类”组中选择“数值”,小数位数。)在“初三学生档案”工作表名称上单击鼠标右键,在弹出的快捷菜单中选择“工作表标签颜色”命令,在“主题颜色”中选择“标准色”中的“紫色”。

OOOOPPPP123123的博客 2004

java excel .do_Java解析excel文件

public class ExportBlackCodeFee {public void readExcel(String path) throws IOException {// 获取文件流InputStream is = new FileInputStream(path);HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);// 获取所有sheet...

weixin_36393744的博客 130

hcaptcha逆向实战:从API解析到参数构造的完整链路

本文详细拆解了hcaptcha验证码的逆向实战流程,从环境准备、捕获API与版本号,到解析核心加密逻辑hsw.js,再到构造getcaptcha请求参数,最后完成验证提交。文章重点剖析了motionData、n、c等关键参数的获取与构造方法,为开发者模拟浏览器行为、实现自动化验证提供了清晰的完整链路指南。

ik678901的博客 629

Java实现Excel导出数据(下载导出) -- 有这一篇就够了

1、如何把数据库的数据写入到excel,2、如何导出文件到本地、或者上传到服务器又或者返回到浏览器这里想针对这两个问题做个记录,突然想写一下专门的excel表格导出到本地,或者返回到浏览器下载的,作者这里使用的是EasyExcel一、初始化EasyExcel的举个简单的例子,比如性别字段,数据库一般存的是tinyint(1),java对象是Boolean,那么想导出的数据变成男、女,则需要再注解后加一个converter了,大概是这样。

xdmmyc的博客 4659

2016域控服务器迁移,WIN Server2016 域服务器迁移出错

各位大神: 这几天刚安装了一台windows server 2016做域迁移时出现错误:1、默认SYSLOG、NETLOGON共享文件重启后自动取消共享,即使手动打开后依然会出现自动取消2、组策略中编辑策略时出现以下报错 policys.png (19.29 KB)2017-2-7 13:52操作此动作之前可以访问本机的共享(NETLOGON)3、使用DCDIAG检测多个报错:C:\Use...

weixin_31833039的博客 3313

生物信息学投稿避坑指南:如何根据影响因子和审稿速度选择最适合的期刊

本文为生物信息学研究者提供全面的期刊投稿策略,重点解析影响因子、审稿速度等关键指标,帮助选择最适合的期刊。涵盖算法开发类和应用型研究的投稿路径,分析不同出版社特点及开放获取的利弊,并提供投稿全流程优化建议,助力高效发表研究成果。

weixin_42652674的博客 378

java实现excel导入导出

简单、好用且轻量级的海量Excel文件导入导出解决方案。

初念初恋的博客 2030

ABB机器人C#二次开发实战:从通信打通到数据读写的落地指南(附完整工程)

最近在做自动化产线升级项目时,遇到一个核心需求:用C#上位机实时读取ABB机器人的关节角度、IO信号,同时下发运动指令和参数配置。翻遍全网,要么是Robot Studio的基础操作教程,要么是C++/VC++的老旧案例,C#相关的实操内容要么只给片段代码,要么跳过通信配置、权限设置等关键步骤,导致刚上手时踩了无数坑——连接超时、数据读不到、写入无响应,甚至误触发机器人安全保护。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1389

ie中下载文件框中的文件名为“download.do”的解决办法

   最近在一个项目的维护中,发现ie中下载文件的时候,下载框中的文件名为“download.do”。文件类型识别不了。保存后改了文件后缀是能够看到内容的。说明下载流数据那边是没有问题的。   但是查看了代码后,发现和其他画面的下载写法是一样的。唯一的区别一个是直接用的servlet,一个是作为action提交的。出问题的是直接用的servlet的那个画面。   刚开始一看两边代码一模一样

步行者的专栏 1万+

C语言实验——各位数字之和排序

C语言实验——各位数字之和排序Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description给定n个正整数,根据各位数字之和从小到大进行排序。 Input输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面...

aiLMengi000的博客 1240

微信小程序流量主提升ecpm的一些方法

ecpm就是千次广告曝光收入,是一个预估的价格,而不是额定的,他是随着曝光度,用户点击度,页面访问数来决定的。

任聪聪的博客 1万+

ie浏览器下载rar文件,变成do文件

使用ie浏览器下载页面上的rar文件,点击的使用迅雷下载,自动改为main.do文件,下载后打不开,使用过百度经验中的重新下载WinRAR,再次安装,添加关联文件rar方法,没有效果。 我的解决方法,将原下载页面换为360浏览器再次下载,即可。可以换一个浏览器下载文件试试

sunnie_mm的博客 5068

S7-1200PLC 2轴直线插补详细算法(完整源代码)

速度轴V90PN总线伺服梯形加减速速度控制(标准报文1应用)_v90伺服加减速时间怎么调整-优快云博客文章浏览阅读288次。

RXXW_Dor的博客 4254

xlsx.js 实现前端 table 数据导出并下载为 excel

xlsx.js 实现前端 table 数据导出并下载为 excel

一条菜鸟鱼的博客 1万+

2.0 电子凸轮 西门子1500电子凸轮使用研究1

本文研究了S7-1500T电子凸轮同步控制技术,通过仿真实验得出以下结论:1)通过比例系数可调整凸轮曲线形状;2)解除同步需调用从轴其他运动指令;3)详细阐述了凸轮同步的5个实施步骤。重点分析了三种同步类型(主值距离同步、动态参数同步和直接同步)的特点及应用场景,并探讨了缩放系数、偏移量等参数对凸轮曲线的影响。同时介绍了凸轮应用模式及常见异常处理方法,为工程应用提供了重要参考。

qq_34047402的博客 808

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

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

php怎样输出表格数据格式文件,PHP的网页数据导出Excel格式文档

如何利用最简单粗糙暴力的方法将数据写入Excel文件中呢?因为ms word和excel的文档都支持html文本格式,因此我们可以基于这个原理采用html文本格式进行数据的输出。在html中,我们只需要将数据照着所想要的顺序放进相应的html表格中即可。我们采用PHP进行数据获取整理以及构造相应的html文本,最后通过字节流输出下载到用户本地。回到顶部2、代码直接上代码,这是一个很简单的程序,里面...

weixin_35823441的博客 556

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

excel2016html,excel2016打开不显示内容《2016版本的excel表格》

excel2016打开不显示内容如果打开软件之后不显示内容或者界面显示不正常,可能是软件错误导致的,一般重启一下软件就好了。如果不行,那就重装一下这个软件即可。EXCLE2016不能正常使用,请大能解决,谢谢!你先启动EXCEL,看看能不能新建文档,EXCEl2016支持的最低系统是win7 sp1,检查你的系统是否已经升级到这个版本了。excle2016不能双击打开文件,出现如截图显示。只能先打...

weixin_32532145的博客 478

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

js 实现纯前端将数据导出excel两种方式,亲测有效

转自:https://blog.csdn.net/hhzzcc_/article/details/80419396 由于项目需要,需要在不调用后台接口的情况下,将json数据导出到excel表格,参考了好多资料以及很多大佬写的博客终于实现,兼容chrome没问题,其他还没有测试过,这边介绍两种实现方式,并附上代码和gif动图,博主不才还望轻喷 方法一 将table标签,包括tr、td等对j...

方全的专栏 1299

菜鸟笔记—将Excel表格内数据导入到session的控制器方法

关于导入Excel表格内数据的控制器方法我还没有吃透,只是现在的进度太慢只能有多少心得写多少心得了,它的思路就是:1.设定好Excel表格的模板文件;2.从页面获取到需要读取的文件;3.将文件转换为二进制数组;再将二进制数组转换为内存流;4.利用NPOI把内存流中的数据读取成Excel;5. 获取第一张工作表,判断工作表中是否存在数据(也不是只有第一张工作表才行)。 添加一个新建的文件夹,在文件夹...

踏云飞的博客 375

扩展名为xls的html文件,htm是什么格式-后缀名为.htm的文件是什么文件

1、htm其实就是网页文件是有HTML编辑的静态网页文件的扩展名。2、可用浏览器打开(如IE),文本编辑器(如word)或专业编辑器编辑(如FronPage).文件名后缀为.htm和.html.htm是什么格式office中的格式。ppt为:幻灯片格式xls为:Excel电子表格格式htm为:网页静态格式htm是什么格式的,如何打开HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签....

weixin_29344197的博客 5390

php Excel导入导出 , 及看及用

phpExcel导入导出 1. 下载PHPExcel的SDK,下载地址: https://github.com/PHPOffice/PHPExcel 将SDK解压之后的Class文件拷贝到自己的项目。 2. 一个按钮实现导入功能 <a href="{:U('Record/newCustomer')} " class="btn black">导出表格</a> ...

whale的博客 445

EXCEL上手第二记

第一记的内容主要讲了excel的快捷键使用的方式以及用途. 第二记的内容会着重的讲excel单元格日常的一些初级运算 加减乘除充当计算器的功能以及一些格式的调整运用 excel的加减乘除有 + - * / = 等五个符号,统称为运算符 在使用excel运算数据时,有两种方式,第一种为手动录入数据,第二种在现有数据使用单元格进行运算,注:运算时都需要先输入=号告诉excel你开始运算了,使用函数运算时同理 下面演示两种方式 有时候在操作拿到的数据后,进行运算时会发现出错,这是单元格的数据类型出现

weixin_46741936的博客 267

日常学习笔记———轻松掌握对Excel的导入导出操作

Excel的导入导出 在对工作中经常会遇到和Excel打交道,不管是导出数据到Excel表中又或者是从Excel表中导入数据到数据库,下面就基于Apache POI对Excel的导入导出做一下说明。 简单的说一下什么是POI 简单的说一下可以更好地理解之后的代码。其实所谓的POI就是Apache软件的开放源码函式库的一种,POI提供API给Java程序对Microsoft Office格式档案读和写的功能,可以用来操作Excel、Word、PPT的读写功能,这里主要对Excel进行说明。 写数据 写数据的整

caicai_zhouhao的博客 364

用 AI 导出鸭轻松搞定!手机端 ChatGPT 和 Gemini 表格复制转换教程

----AI导出鸭---

aikunming998的博客 910

导入excel表格demo

利用poi 导入excel表格demo

m0_58746619的博客 335

r语言 将表格导出为csv_R语言的学习心得分享(5)

这一节我们来看一下数据的输入。我在前几节里详细介绍了各种数据结构,那么我们的本次的前半部分就是如何去将这些数据结构导入进去,并有利于后续的分析。R中提供了很多数据导入的工具。我做了一张图来罗列一下:首先我们先来看一下如何动输入数据的情况。在R语言中,存在一个允许手动输入数据的文本编辑器。我们可以使用edit()调出文本编辑器来进行数据的输入。具体可以分部为:1、创建一个空的数据框(或矩阵),其中变...

weixin_39860260的博客 2432
上一篇: servlet与filter过滤路径的问题
下一篇: $.ajax请求在html页面拿不到数据
java_xxxx
博客等级 码龄9年 127粉丝 99原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值