ExtJS实现Excel导出

解决extjs前端异步导出excel无提示问题 解决extjs前端异步导出excel无提示问题 发送异步导出excel请求而前端没有任何的反应,但是后台确实接收到了请求, 如:Ext.Ajax.request({ url : 'sales/excel', method : 'get', async: false, params : { 阅读详情

ExtJS是一种基于客户端开发的AJAX应用,是一个与后台技术无关的前台ajax框架。由于项目需求,我们需要实现Excel的导出功能,前台界面是用ExtJS实现。如何实现呢?


1. 使用POI组件实现excel导出功能

//获取问题列表
List<Suggestion> targetStockList = suggestionService.getSuggestionList(map);
 
		//创建一个新的Excel
		HSSFWorkbook workBook = new HSSFWorkbook();
		//创建sheet页
		HSSFSheet sheet = workBook.createSheet();
		//sheet页名称
		workBook.setSheetName(0, "targetStockList");
		//创建header页
		HSSFHeader header = sheet.getHeader();
		//设置标题居中
		header.setCenter("标题");
		
		//设置第一行为Header
		HSSFRow row = sheet.createRow(0);
		HSSFCell cell0 = row.createCell(Short.valueOf("0"));
		HSSFCell cell1 = row.createCell(Short.valueOf("1"));
		HSSFCell cell2 = row.createCell(Short.valueOf("2"));
 
		
		// 设置字符集
		cell0.setEncoding(HSSFCell.ENCODING_UTF_16);
		cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
		cell2.setEncoding(HSSFCell.ENCODING_UTF_16);

		
		cell0.setCellValue("问题标题");
		cell1.setCellValue("问题描述");
		cell2.setCellValue("反馈时间");
	
		
		if(targetStockList != null && !targetStockList.isEmpty()) {
			for(int i = 0; i < targetStockList.size(); i++) {
				Suggestion targetStock = targetStockList.get(i);
				row = sheet.createRow(i + 1);
				cell0 = row.createCell(Short.valueOf("0"));
				cell1 = row.createCell(Short.valueOf("1"));
				cell2 = row.createCell(Short.valueOf("2"));

				
				// 设置字符集
				cell0.setEncoding(HSSFCell.ENCODING_UTF_16);
				cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
				cell2.setEncoding(HSSFCell.ENCODING_UTF_16);

				
				cell0.setCellValue(targetStock.getType());
				cell1.setCellValue(targetStock.getContent());
				cell2.setCellValue(targetStock.getPublishTime());
	 
 
				
				sheet.setColumnWidth((short) 0, (short) 4000);
				sheet.setColumnWidth((short) 1, (short) 4000);
				sheet.setColumnWidth((short) 2, (short) 4000);
			}
		}
		
		//通过Response把数据以Excel格式保存
		response.reset();
		response.setContentType("application/msexcel;charset=UTF-8");
		try {
			response.addHeader("Content-Disposition", "attachment;filename=\""
					+ new String(("用户意见信息表" + ".xls").getBytes("GBK"),
							"ISO8859_1") + "\"");
			OutputStream out = response.getOutputStream();
			workBook.write(out);
			out.flush();
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;

2.ExtJS调用此函数,实现Excel的导出

我们知道在界面上通过一个按钮实现Excel的导出,ExtJS的按钮一般都是通过Ext.Ajax.request的异步请求实现数据提交的。但是在这里我们不能使用异步调用,我们需要在直接提示给用户是否保存或打开此文档。如何实现呢?

       其实很简单,我们如果了解了ExtJS就是Javascript开发的,我们就能够很容易实现此功能了。我们在按钮的触发事件中写入此段代码就能实现Excel的函数调用了。

	// 初始化 Excel导出 的按钮
	var exportExcel = Ext.get('exportExcel');
	exportExcel.on('click', exportButtonClick);
	
	function exportButtonClick (){
		 window.location.href = Ext.CONTEXT + '/admin/suggestion.do?method=exportTargetList';
};




extjs 导出excel extjs 导出excelextjs 导出excelextjs 导出excelextjs 导出excelextjs 导出excel 立即下载

相关推荐

BeckHoff <--> ABB 机器手 Profinet 通讯

本文介绍了BeckHoff PLC与ABB机器人通过PROFINET通信的实现方案。主要内容包括:1)通信接口的详细变量定义,涵盖输入/输出信号、设备状态监控、夹爪控制等关键功能位;2)全局数据结构和变量配置说明;3)机器人任务控制程序的实现方法,包括参数校验、任务指令下发和状态监控机制;4)重点分析了任务调度功能块的代码逻辑,涉及慢速模式处理、多参数配置和执行状态判断。该方案通过结构化变量定义和模块化程序设计,实现了PLC对机器人作业的精确控制,为工业自动化系统集成提供了可靠通信范例。

工控智联驿站 1032

extjs导出Excel文档

extjs的excel导出

格局、视野、认知 3439

stm32h743的hrtim使用生成pwm波

HRTIM(High-Resolution Timer)是一种高精度定时器,其时钟频率可直接与CPU主频同步,达到480MHz。相比之下,其他传统定时器需挂载在APB总线上,受总线频率限制,最高仅支持240MHz。这种直接时钟同步机制显著提升了定时器的分辨率和精度。

d13211322的博客 1610

Extjs 导出excel

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33757911的博客 203

【CubeMX】STM32G474 HRTIM 死区时间与互补PWM实战解析

本文深入解析STM32G474的HRTIM高分辨率定时器在互补PWM生成与死区时间配置中的应用。通过CubeMX工具详细演示时钟配置、单路PWM基础、互补输出与死区时间设置,并结合逆变器等电力电子实战案例,帮助开发者避免直通风险,优化系统性能。

efc12345678的博客 746

IAP板卡远程升级(串口网口都可)+Ymodem+AES对bin文件加密+pc软件+板卡相互烧录

还是决定记录一下,毕竟这个东西我也搞了挺久的,遇到一些棘手的,或者是因为我很粗心遇到的问题也和大家分享一下,。 板卡核心是 STM32F103RCT6,256kflash 前言 开始看这个远程升级的时候,我是一头雾水的,原子哥的教程里面也有说到过iap,有了一个大概的了解,我想不明白的是,通过串口下载的方式把hex文件下载到flash,和把bin文件下载到flash难道不是拉一根线,下载一个文件嘛,(初入职场的我并没有考虑到安全这个问题)如果直接将hex文件给到客户那边,风险是非常大...

那可真是太开心了的博客 5370

extjs grid 分页 导出 excel

、基本原理是:客户端根据Grid数据、使用ExportExcel.js文件生成Excel格式的XML数据,然后发送到一个服务端文件(ExportExcel.jsp),服务端文件通过设定Content-Type来实现Excel的下载。 2、导出Excel按钮代码:

JecksonChenJinHua的专栏 3632

【1.2】Costas环的基本原理概述

Costas环是一种用于载波恢复的相干解调技术,可直接从BPSK等抑制载波信号中恢复本地载波并完成解调。其核心结构包含同相/正交双支路处理,通过混频、低通滤波后,利用I/Q支路信号乘积进行相位误差检测,经环路滤波器调节VCO输出频率,实现载波同步。课程将重点讲解Costas环的MATLAB仿真实现、系统性能分析及FPGA开发,包括信号产生、频偏模拟、滤波器设计等模块,并通过AWGN信道和不同频偏条件下的测试验证系统性能。该技术无需单独提取载波,在数字通信系统中具有重要应用价值。

fpga/matlab/simulink算法仿真工程 450

ext导出excel JAVA_ExtJS实现Excel导出

1.使用POI组件实现excel导出功能//获取问题列表ListtargetStockList=suggestionService.getSuggestionList(map);//创建一个新的ExcelHSSFWorkbookworkBook=newHSSFWorkbook();//创建sheet页HSSFSheetsheet=workBook.createSheet();...

weixin_29823011的博客 381

高质量文献综述原来这么写!借助Gemini 3 Pro+四步法,手把手教你写出有逻辑深度的综述

总结与展望先总结现状,说明前人已经做到什么地步了,再指出缺口,前人没解决什么问题、方法有什么局限等等,最后再在这个缺口的基础上,提出你的未来研究方向。当你有个复杂的研究题目,但没办法拆解出关键词,就可以让Gemini 3 Pro来辅助帮你拆解,并帮你写专业的检索式,若是找英文文献,还能帮你将中文关键词翻译成地道的专业术语。做文献笔记,可以建立文献笔记矩阵,可以用Excel建个表格,横向是文献,纵向是关键要素,包括作者/年份、研究问题/假设、理论框架/模型、研究方法/数据来源、核心结论、局限性/Gap。

智能AI让学术科研更容易 989

【STK】手把手教你利用STK进行导弹和反导仿真02 - STK/MMT模块01 导弹任务分析工具概述

种工具:导弹设计工具(Missile Design Tool,MDT )、导弹飞行工具(Missile Flight Tool,截弹,或者用内置拦截弹编辑器创建的个性化的拦截弹, IFT 能够对 ―一对一 ‖动能拦截。导设置系统参数, 并对其有效性进行验证, 画性能图,保证该设计是可行的。(SAIC)公司联合开发研制,极大扩展了 STK 原有的导弹对象的功能,能够精确仿真。IFT 能够对拦截飞机、 导弹、卫星等目标进行仿真和分析。(2)推进系统参数,包括推力,比冲,秒流量,推力持续时间,喷嘴出口面积,

weixin_44184852的博客 1876

ExtJS4+SSH 实现Excel导出

在项目中, ExtJS是一种基于客户端开发的AJAX应用,是一个与后台技术无关的前台ajax框架。 由于项目需求,我们需要实现Excel的导出功能,前台界面是用ExtJS实现。如何实现呢?

islittletan的专栏 2130

uniapp - 如何跟内嵌 web-view 组件内的网页交互,与 web-view 内嵌网页进行双向通信(uniapp 与 webview 网页之间的 “相互“ 传值)提供详细的示例代码及解决方案

uni-app如何实现在H5环境中与web-view中的网页交互通讯uniappuni-app 与 web-view内嵌网页 双向通信 如何跟内嵌web-view交互uniappAPP与webview子页面交互uniappAPP与webview子页面交互关于uni-app 使用 web-view 页面之间互相跳转、通信等问题uniapp的web-view嵌入网页,网页与uniapp通信webview如何与uniapp写的H5页面交互嵌套webview调用uniapp各种API组件实现H5和app通讯和交互

✅ 精选推荐文章 1万+

extjs4+jxl实现grid按条件查询导出到Excel

用Extjs4做导出到excel时如果直接用form表单提交或者直接用Ext.Ajax.request提交数据后,页面对后台HttpServletResponse回来的数据被封装成response.responseText。但是我们需要页面弹出保存地址的对话框,因此不能直接异步调用。我的实现如下: 1.在页面写一个“导出”按钮,数据可以按照日期条件进行导出 {

婵blog--分享与交流 947

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ExtJS实现Excel导出(转)

ExtJS是一种基于客户端开发的AJAX应用,是一个与后台技术无关的前台ajax框架。由于项目需求,我们需要实现Excel的导出功能,前台界面是用ExtJS实现。如何实现呢? 1.POI组建实现 //获取问题列表 List<Suggestion> targetStockList = suggestionService.getSuggestionList(map)...

weixin_30858241的博客 86

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Extjs4.0+HSSFWorkbook+SpringMVC实现将数据库中的记录导出到本地Excel格式

Extjs4.0+HSSFWorkbook+SpringMVC实现将数据库中的记录导出到本地Excel格式

caolipeng_918的专栏 1851

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ExtJS4.x Grid导出到Excel(详解)

本人菜鸟一枚,看了网上很多例子,操作均不够具体,且大都用的是同一个源文件(http://blog.csdn.net/lc448986375/article/details/8205362),想来定是受了原博主的毒害不浅^_^。有鉴于此,本人特此做一较为详细的解说,望批评指正,多多交流为善 1.下载并解压文件夹 ExtToExcel.zip;(csdn资源几次传不上去,最后选择了51)...

weixin_30315723的博客 119

rails+extjs中excel导出

网上有extjs的grid直接导出为excel的控件,但是不满足需求,因为grid一般是分页的,而excel导出的时候肯定是全部数据   导 出excel这个过程的输入是 列配置信息(列头,字段名,宽度,顺序) 输出时excel文件 生成grid数据和导出 excel的数据要能重用   所以把列头信息作为参数传递到服务器端 params = Ext.apply({},this.f...

冬眠 234

struts2 + extjs4 + poi 根据当前gridPanel内容导出时Excel

如图:点击导出Excel按钮,导出Excel文件 extjs4代码: /**TODO导出Excel*/ "schedulergridbutton[id=toexcel]":{ click:function(button){ vargrid=this....

chuojianzhi3582的博客 166

Extjs导出excel数据

环境:前台:Extjs;后台hibernate+struct 需求:前台查询结果分页显示,导出到excel时需要导出所有符合查询调节的记录。

龙心之火 2427

[ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel

继上次使用js前端导出excel之后,还有一个主要大家比较关注的是后台实现导出excel,因为本人开发使用的java所以这里使用apache的开源项目poi进行后台excel的导出。本文目录 本文目录 poi项目下载及加载 extjs前端导出设置 extjs后台对应的解决方案 创建excel工作簿 创建一个excel页签 生成excel样式并初始化 产生表格标题行build headers 构造数据

苏生-苏米沿的专栏 3547

利用ExtJS导出Excel

Ext.ns("Msp.Component"); //config = { // fileName : "净值及头寸核对", // exportDate : "2014-01-20", // dataSource : [ // {grid : grid1, param : param1, showType : true}, // {...

weixin_30675967的博客 191
上一篇: SQLSERVER,ORACLE,MYSQL高效分页查询
下一篇: ExtJS框架下如何使表单不使用AJAX方式提交
gavinloo
博客等级 码龄21年 48粉丝 53原创
评论 20
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值