【前端读取Excel】

前端直接读去excel

  • 前端读取excel
    • 使用layui读取Excel
    • 使用xlsx.core.js

前端读取excel

有一些情况我们并不需要保存Excel到本地,这种情况就可以选择直接在前端把数据拿出来

使用layui读取Excel

Html代码

    <div class="layui-form-item">
                    <label class="layui-form-label">导入手机号label>
                    <div class="layui-input-block">
                        <input type="file" class="layui-btn layui-btn-primary" id="Import" multiple="multiple">
                        <button type="button" class="layui-btn" id="ExportTemplate">
                            <i class="layui-icon">i>下载模板
                        button>
                    div>
                   
                div>

JS代码

 layui.use(['form', 'layedit', 'laydate', 'table', 'element'], function () {
        var form = layui.form,//表单
            $ = layui.$,//jquery
            table = layui.table,//表格
            layer = layui.layer,//基础
            laypage = layui.laypage,//分页
             element = layui.element,
            laydate = layui.laydate,//日期
        excel = layui.excel;//导出表格
         var UserInfo = [];//用于存储excel导入的接收短信用户信息
//导出功能
    var Template = [];
        Template.push({
            phone:"133321133131"
        })
        Template.unshift({
            phone: '联系电话'
        });
        $("#ExportTemplate").click(function () {
            LAY_EXCEL.exportExcel(Template, '营销业务手机导出模板.xlsx', 'xlsx');
        });

//导入功能
  $("#Import").change(function (e) {
            try {
                var files = e.target.files;
                excel.importExcel(files, {
                    fields: {
                        'phone': 'A'
                    }
                }, function (data) {
                    var userinfo = data[0].sheet1;
                    for (var i = 1; i < userinfo.length; i++)
                    {
                        UserInfo.push(
                            userinfo[i].phone
                        );
                    }
                });
            } catch (e) {
                layer.alert(e.message);
            }
           
        });



        });

使用xlsx.core.js

前端代码

	<input type="file" id="files" />
		

JS代码

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
		<script src="js/xlsx.core.min.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			$("#files").change(function(e){
				console.log("上传了")
				var files = e.target.files;
				console.log(files)
				var fileReader = new FileReader();
				console.log(fileReader)
				fileReader.onload = function (ev){
					console.log("进入")
					console.log(this.result);
					try {
						var data = ev.target.result,
	
							//以二进制流方式读取得到表格中数据  
							workbook = XLSX.read(data, { type: 'binary' }),
							info = [];//存储获取到的数据  
					} catch (e) {
						alert('文件类型不正确');
						return;
					}
					console.log(workbook)
					var fromTo = '';
					//遍历每张表读取  
					for (var sheet in workbook.Sheets) {
						if (workbook.Sheets.hasOwnProperty(sheet)) {
							fromTo = workbook.Sheets[sheet]['!ref'];
							info = info.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
						}
					}
					console.log(info)
				}
				//以二进制方式打开文件  
				fileReader.readAsBinaryString(files[0]);
			})
		</script>

需要JS包直接留言,不想放在CSDN上,放上面你们下载需要C币。恶心。

你可能感兴趣的:(layui,C#,c#,excel)