js实现读取excel文件

1、引入js文件,如下

<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<script src="https://cdn.bootcss.com/xlsx/0.15.1/xlsx.core.min.js"></script>

2、判断文件是否是excel文件

var url=$('#excel-file').val();
if(!url){return;}
var suffix=url.substring(url.lastIndexOf(".")+1,url.length);
if(!(suffix=="xls"||suffix=="xlsx")){
	return alert("文件类型不正确");
}

3、读取excel的sheet数据

var files = e.target.files;
var fileReader = new FileReader();
 /**以二进制方式打开文件*/
fileReader.readAsArrayBuffer(files[0]);
fileReader.onload = function (ev) {
	try {
			var data = ev.target.result;
			var workbook = XLSX.read(data, { type: 'array' }),persons = [];
	} catch (e) {
			console.error(e);
			return alert('文件类型不正确!');
	}
	//遍历每张表读取
	for (var sheet in workbook.Sheets) {
		if (workbook.Sheets.hasOwnProperty(sheet)) {
			persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet], { raw: true, header: 1 }));
			for ( var i = 0; i <persons.length; i++){
				var person=persons[i];
				var tr='<tr id="tr-'+i+'">';
				for (var j = 0; j <person.length; j++){
					 tr+='<td>'+$.trim(person[j]?person[j]:"")+'</td>';
				}
				for (var k = 0; k < (6-person.length); k++) {
					tr+='<td></td>';
			     }
				if(person.length>1){
					tr+='<td style="padding:6px;"><a href="javascript:$(\'#tr-'+i+'\').remove();" class="btn btn-danger btn-xs">删除</a></td></tr>';
						  $("#context").append(tr);
					}
				}
			break;// 如果只取第一张表,就把beak注释取消
		}
	}
};

要使用JavaScript读取Excel文件,可以使用一些库和工具来实现。以下是使用js-xlsx库来读取Excel文件的步骤: 首先,需要引入js-xlsx库的相关文件到你的项目中。 然后,通过HTML的<input>元素,让用户选择一个Excel文件,并将该文件传递给JavaScript代码。 接下来,在JavaScript代码中,使用FileReader对象来读取Excel文件的数据,代码如下: ```javascript var fileInput = document.getElementById('fileInput'); // 获取<input>元素 var file = fileInput.files[0]; // 获取选择的文件 var reader = new FileReader(); reader.onload = function(e) { var data = new Uint8Array(e.target.result); var workbook = XLSX.read(data, {type: 'array'}); // 读取Excel文件 var worksheet = workbook.Sheets[workbook.SheetNames[0]]; // 获取第一个工作表 // 对Excel数据进行处理 var excelData = XLSX.utils.sheet_to_json(worksheet, {header: 1}); // 在控制台中打印Excel数据 console.log(excelData); }; reader.readAsArrayBuffer(file); // 以ArrayBuffer格式读取文件 ``` 以上代码中,通过FileReader对象的readAsArrayBuffer方法读取Excel文件的二进制数据,然后使用js-xlsx库的XLSX.read方法解析数据,并使用XLSX.utils.sheet_to_json方法将工作表中的数据转换为JSON格式。 最后,可以根据需要对读取到的Excel数据进行进一步的处理,比如展示在页面上或者发送到服务器端等。 需要注意的是,由于安全限制,JavaScript在浏览器中无法直接访问本地的文件系统,所以需要通过用户手动选择文件并通过代码读取
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值