extjs读取excel

extjs4+jodconverter+openoffice实现word、excel等文件的在线预览 1、引入jodconverter相关jar包 2、开发工具类实现openoffice转换office文档: import java.io.BufferedInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import com.artofsolving.jodconv... 阅读详情

1.extjs代码(upload4excel.js)

Ext.onReady(function() {

	var form = new Ext.form.FormPanel({

		renderTo : Ext.getBody(),
		labelAlign : 'left',
		bodyStyle : 'text-align:left',
		title : '文件上传',
		labelWidth : 60,
		frame : true,
		url : 'userAction_readExcel',// fileUploadServlet
		width : '100%',
		height : '100%',
		fileUpload : true,
		html : '<div id="msg" class="tipmsg"></div><div id="msg_fail" class="tipmsg_fail"></div>',

		items : [{
			xtype : 'textfield',
			fieldLabel : '文件名',
			name : 'excel',
			allowBlank : false,
			msgTarget : 'under',
			validator : function(value) {
				if (value != "") {
					var arr = value.split('.');
					// xls,xlsx两种格式均可 by Yang
					if (arr[arr.length - 1] != 'xls'
							&& arr[arr.length - 1] != 'xlsx') {
						return '文件不合法,请上传excel文件';
					} else {
						return true;
					}
				}
			},
			inputType : 'file'// 文件类型
		}],
		buttonAlign : "center",
		buttons : [{
					text : '上传',
					handler : function() {
						form.getForm().submit({
									success : function(form, response) {
										Ext.get("msg_fail").dom.innerHTML = "";
										Ext.get("msg").dom.innerHTML = "上传成功";
									},
									failure : function() {
										Ext.get("msg").dom.innerHTML = "";
										Ext.get("msg_fail").dom.innerHTML = "文件上传失败";
									}
								});
					}
				}]
	});
	var win = new Ext.Window({
				title : '个人信息导入',
				resizable : true,
				width: '60%',
				shadow : true,
				modal : false,
				closable : true,
				items : form
			});
	win.show();

});

2.userAction_readExcel方法代码

//读取excel文档
	public String readExcel() throws Exception {

		try {
			// 获取客户端上传的excel在服务器上的位置
			userService.loadExcelToDB(excel);
			// 无异常返回成功
			sendMsg2Client(Constants.JSON_SUCCESS);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			// 有异常返回失败
			sendMsg2Client(Constants.JSON_FAILURE);
		}

		return null;
	}

3.userService_loadExcelToDB(File excel)方法代码

	public void loadExcelToDB(File excel) throws BiffException, IOException {
		// TODO Auto-generated method stub
		// 业务层处理excel的获取
		Workbook workbook = Workbook.getWorkbook(excel);
		Sheet sheet = workbook.getSheet(0);

		int rows = sheet.getRows();
		int columns = sheet.getColumns();

		// 存放sheet0的所有数据
		ArrayList<ArrayList<String>> sheetData = new ArrayList<ArrayList<String>>(
				rows + 1);
		for (int row = 1; row < rows; row++) {
			// 存放sheet0每一行的数据
			ArrayList<String> rowData = new ArrayList<String>(columns + 1);

			for (int col = 0; col < columns; col++) {

				rowData.add(sheet.getCell(col, row).getContents());
			}

			sheetData.add(rowData);
		}

		userDAO.addMembers(sheetData);
	}

4.userDAOImpl_addMembers()方法

public void addMembers(ArrayList<ArrayList<String>> excelData) {
// TODO Auto-generated method stub
Session session = getCurrentSession();
String sql_mb = "insert ignore into member values(";
for (int i = 0; i < excelData.size(); i++) {
// 将信息插入到member表
ArrayList<String> rowData = excelData.get(i);
StringBuilder sb = new StringBuilder(sql_mb);
 
for (int j = 0; j < rowData.size(); j++) {
sb.append("'" + rowData.get(j) + "',");
}
 
int updateCount_mb = session.createSQLQuery(
sb.substring(0, sb.length() - 1) + ")").executeUpdate();
 
if (updateCount_mb != 0) {
// 将信息加入到user表
String name = rowData.get(0);// excel第1栏为姓名
String sex = rowData.get(1);// excel第2栏为性别
String birthday = rowData.get(2);// excel第3栏为出生日期
 
String sql_user = "insert ignore into user(name,sex,birthday) values('"
+ name + "','" + sex + "','" + birthday + "')";
int updateCount_users = session.createSQLQuery(sql_user)
.executeUpdate();
}
}
}

5.数据库表(member,user)字段

Id

Name

Sex

birthday

name

sex

birthday


附上源码下载地址:

http://download.youkuaiyun.com/detail/love_java_cc/9389390


extjs模拟excel表格 extjs模拟excel表格,所有excel的功能在页面上都能体现出来 立即下载

相关推荐

Crazyflie 2.1固件刷写与地址配置全攻略:从开箱到连接Crazyswarm

本文详细介绍了Crazyflie 2.1微型无人机的固件刷写、地址配置及与Crazyswarm系统的集成方法。从开箱检查到多机协同飞行,涵盖了硬件准备、固件刷写、无线电地址修改等关键步骤,帮助用户快速实现集群飞行控制。特别针对Crazyswarm系统集成提供了实用配置示例和调试技巧。

weixin_42530458的博客 405

Extjs4 之单元格编辑 获取列的对象

获取列对象 grid.getHeaderAtIndex(columnIndex); 获取类的dataIndex,text var fieldName = grid.getHeaderAtIndex(columnIndex-2).dataIndex; var fieldText = grid.getHeaderAtIndex(columnIndex-2).text; rotaGr

活出不一样的我 3385

手把手教你配置RK3588的FFmpeg+RKmpp:从解码到RGA转换的完整避坑指南

本文详细介绍了在RK3588平台上配置FFmpeg+RKmpp进行硬件解码和RGA图像处理的完整流程,包括环境准备、DRM Prime解码输出实战、RGA硬件加速转换技巧以及全链路性能调优。通过具体代码示例和问题排查指南,帮助开发者高效实现视频处理流水线,显著提升性能并降低CPU占用率。

weixin_28366475的博客 473

extjs 导入excel

1.前端页面代码 excelImport : function() { var me = this; Ext.create('app.system.common.CommonExcelImportWindow',{ tempUrl:'blacklistController/exportTemplate.do', ...

m0_37822534的博客 1581

本地部署大模型框架 LMStudio和Ollama+WebUI对比

之前我们的辣妈系列文章介绍了很多如何使用Ollama框架+OpenWebUI做很多大模型框架下相关的事情。之后我们也尝试了LMStudio这样一体化的工具。本文介绍下LMStudio 和 Ollama+Web UI 各有优劣,具体选择取决于你的需求。

ms44的专栏 4028

DRM驱动代码分析:展频 跳频

DRM驱动代码分析:展频 跳频

yuuu_cheer的博客 2679

extjs中关于excel导入导出代码

panelMain.js部分代码 // 导入 "afterlead" : function(toolbar) { me.excelImport(); }, // 导出excel "afterexport" : function(toolbar) { me.excelExport(); } // 导入 excelImpo...

m0_37822534的博客 1237

Vue3 + MQTT.js 实现 SCADA 实时数据通信:从不稳定到稳定的完整实践

本文介绍了SCADA组态引擎开发中MQTT协议的应用及优化实践。项目采用MQTT协议实现工业设备数据采集与可视化,但面临连接不稳定、数据格式多样化和数据绑定复杂三大问题。针对MQTT连接问题,分析发现超时设置过短(原8秒)、缺少客户端超时配置和心跳机制是主要原因。优化方案包括:协议转换(mqtt://→ws://)、双重超时保护(15秒手动+30秒客户端)、60秒心跳间隔等,显著提升了连接稳定性。通过完整代码实现展示了连接配置、认证处理和错误处理机制,为物联网数据传输提供了可靠解决方案。

weixin_36794508的博客 1398

java ext excel导入导出

EXTJS4上传文件或EXCEL批量导入源码  2012-03-03 14:33:22|  分类: EXTJS4知识 |  标签: |字号大中小 订阅 ■  前台FORM Ext.require(['Ext.form.field.File']); //whbmemo:因为父窗口中已经有高级查询表单,故为了避免冲突,表单域都不再设置id Ext.define('

yuanyuan_186的专栏 3043

ZYNQ工业级串口方案:AXI UART 16550扩展RS-485实战(自动方向控制+Linux驱动)

可以轻松扩展出多路工业级串口。但常规方案需要手动控制收发方向(DE/RE引脚),存在实时性差、CPU占用高等痛点。本文从硬件逻辑设计到Linux驱动开发,完整实现了ZYNQ平台的RS-485工业通信方案。,解决了传统方案实时性差的痛点。所有代码均经过实际项目验证,可直接用于生产环境。:尝试将此设计扩展为多协议兼容接口(支持RS-422/RS-232切换)!等特性,依然是现场总线通信的首选。,通过硬件逻辑+Linux驱动协同设计,实现零延迟切换。在工业自动化、能源电力等场景中,RS-485凭借。

QQ_778132974的博客 830

PCB仿真软件:Altium Designer_(15).AltiumDesigner的版本控制与项目管理

在进行PCB设计时,版本控制和项目管理是确保设计质量和团队协作效率的关键。Altium Designer 提供了强大的版本控制和项目管理功能,可以帮助设计团队更好地管理和维护项目。本节将详细介绍如何在Altium Designer中进行版本控制和项目管理,包括如何使用版本控制系统、如何管理项目文件、如何进行团队协作等。

kkchenjj的博客 1202

前台extjs后台 java poi 读取excel数据到数据库中

extJs的前台部分: 1.定义导出按钮: this.returnJnlImportBtn1 = new Ext.Button({ text : "账户调整前导入", id : "returnJnl_import1", iconCls : "icon-add", hidden: false, scope : this, handler : thi

yelloo的博客 3847

学Simulink--进阶电机控制场景实例:基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文详细介绍了基于Simulink的异步电机定子磁链定向控制(SFOC)仿真实现方法。主要内容包括:1) SFOC原理分析,突出其对转子参数不敏感的优势;2) 工业风机驱动系统的完整建模流程,涵盖主电路搭建、坐标变换、磁链观测器设计等关键步骤;3) 核心模块代码实现,包括电压模型磁链观测器和双闭环PI控制器;4) 仿真结果验证了SFOC在转速响应(0.2s)、转矩恢复(0.15s)和参数鲁棒性(转子电阻变化50%时转速波动<2%)方面的优异性能。本文为工程师提供了实用的SFOC系统开发指南,特别适用于

amy_mhd的博客 116

ExtJS4.0中Excel文件导入grid

在给出代码之前,先说一下思想,要达到excel的上传,有两种方式可以选择,一种是打开grid,然后打开excel,选中要导入的excel记录,然后进行拖拽,在grid中要使用Ext.ux.grid.DataDrop插件,这种方式是在ext3.1中实现的,我没有在4.0中做过测试,这种方式的优点是比较直观,用户可以直接看到自己导入的数据,缺点是对于大批量的数据进行导入时比较困难;具体可参见http:

jwl_yifeng的专栏 5457

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Extjs 4.0 ajax请求超时,php请求超时,excel读取时php提示内存不足。

最近在做Extjs+php的开发,在涉及到导入excel时出现了问题,经过一天的检查终于发现是ajax请求超时的问题,因为要对数据库进行大量的读写操作,同时还得对excel表中的数据进行操作。所以比较耗时。经查资料,解决方案如下,希望对做Extjs配合php同时需要操作excel导入的使用者有所帮助。 php操作超时 在对数据库进行大量数据操作时,会提示操作超时,解决方法如下: Ma

wyfhist的专栏 1973

jre9下载 jdk9

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

Java 上传读取Excel文件

Java 上传读取Excel文件

x1043556915的博客 1246

Camera2Demo

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

extjs6.5文件上传_Extjs上传文件

/* ************************************************ author :GH* function: 次要诊断(手术)替换主诊断(手术)信息view* history:created by GH 2017/7/25* ***********************************************/Ext.define('CisApp.v...

weixin_34804926的博客 224

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

看了网上很多例子,操作均不够具体,且大都用的是同一个源文件(http://blog.youkuaiyun.com/lc448986375/article/details/8205362),想来定是受了原博主的毒害^_^ 1.下载并解压文件夹 下载地址:http://down.51cto.com/data/985208 2.htm显示页面导入export-all.js文件,如: ? 1...

zengzp1994的博客 442

我的友情链接

51CTO博客开发mkYong的java社区poijava 资源连接李刚java 的博客extjs紫晶幻治 转载于:https://blog.51cto.com/arkshine/2024462

weixin_33964094的博客 60

js excel export import word, js Print

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

weixin_34301307的博客 139

extjs java 上传文件,Extjs 上传Excel文件,java解析它。求示例!!extjs 上传Excle

EXTJS 如何添加EXCEL文件,读取Excel文件中的值然后显示出来的后台怎么写呢?首先功能与ExtJS没关系接用javascript操作excel后写入到excel的grid看看这个帖子 http://www.blogjava.net/fool/archive/2006/06/27/55285.htmlExtjs 上传Excel文件,java解析它。求示例!后台用个i/o inputstre...

weixin_39709194的博客 285

spring-excel-导入

1js /** * 导入window */ Ext.define('ppData.priceApplyIndex.priceApplyIndexWinUpload', { extend: 'Ext.window.Window', title:'资源上传', width:400, height:200, id ...

weixin_33852020的博客 101

获取extjs 选择后的表头_Excel快速获取文件列表及文件属性

Excel快速获取文件列表及文件属性​mp.weixin.qq.com今天分享一个Excel的高级使用技巧:快速获取文件夹内的文件名并监控其动态变化。目标文件件结构如下图:要求一:获取文件清单要求二:获取文件对应的属性实现以上需求有多种途径,最简单快速的方法是使用Microsoft Power Query,Excel2016版本已经将该功能集成了,如果使用的是其他版本的需要单独下载安装,本例使用的...

weixin_39731271的博客 207

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

本人菜鸟一枚,看了网上很多例子,操作均不够具体,且大都用的是同一个源文件(http://blog.youkuaiyun.com/lc448986375/article/details/8205362),想来定是受了原博主的毒害^_^有鉴于此,本人特此做一较为详细的解说,望批评指正,多多交流为善 1.下载并解压文件夹 ExtToExcel.zip 2.htm显示页面导入export-all.js文件

Hello ^_^ Word 5121

struts2实现上传,Excel实现文件读取并且写入数据库

struts2实现上传,Excel实现文件读取并且写入数据库地址: http://blog.youkuaiyun.com/ttaaoo36/article/details/5792467

zhang1249779625的专栏 602
上一篇: extjs传值丢失问题
下一篇: 获取从数据库select到的值存到list的数据
冷静BB
博客等级 码龄12年 298粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值