关于jquery读取excel文件内容 xls xlsx格式

在一个项目中需要读取excel的内容,当然excel是有格式的,格式就是读取到的第一行会作为属性(Title)

例如如下excel

Language Detil
en English
cn Chinese
jp Japanese

该excel会解析成:方式1

当然也可以解析成:方式2

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

正文开始:

首先需要引用xlsx.full.min.js 提供链接:https://pan.baidu.com/s/1o7HK6vw

首先页面添加input type=file 来获取文件

<input  type="file" onchange="importExcel(this)" class="filter_input form-control"/>

onchange里面的函数如下:

var wb;//读取完成的数据
var rABS = false; //是否将文件读取为二进制字符串

function importExcel(obj) {//导入if(obj.files.length==0) {return;
     }
    const IMPORTFILE_MAXSIZE = 10*1024;//这里可以自定义控制导入文件大小
    var suffix = obj.files[0].name.split(".")[1]
    $(‘#_file_path‘).val(obj.files[0].name);
    if(suffix != ‘xls‘ && suffix !=‘xlsx‘){
        layer.msg("Only support excel!");
        return;
    }
    if(obj.files[0].size/1024 > IMPORTFILE_MAXSIZE){
        layer.msg("The file can not over 10MB");
        return;
    }
    var f = obj.files[0];
    var reader = new FileReader();
    reader.onload = function(e) {
        data = e.target.result;
        if(rABS) {
            wb = XLSX.read(btoa(fixdata(data)), {//手动转化
                type: ‘base64‘
            });
        } else {
            wb = XLSX.read(data, {
                type: ‘binary‘
            });
        }
        //wb.SheetNames[0]是获取Sheets中第一个Sheet的名字
        //wb.Sheets[Sheet名]获取第一个Sheet的数据
        var a=wb.SheetNames[0];
        var b=wb.Sheets[a];//内容为方式2
        data=XLSX.utils.sheet_to_json(b);//内容为方式1
        if(!data||data==""){
            layer.closeAll(‘loading‘);
            layer.msg("The file is empty please choose another file!");
            return;
        }     //在这里执行对解析后数据的处理  

      //var Compile_Result=Batch_Compile(data);

      //DrawTable(Compile_Result);

    };
    if(rABS) {
        reader.readAsArrayBuffer(f);
    } else {
        reader.readAsBinaryString(f);
    }
    function fixdata(data) { //文件流转BinaryString
        var o = "",
            l = 0,
            w = 10240;
        for(; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));
        o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));
        return o;
    }
}

原文地址:https://www.cnblogs.com/yangsirc/p/8135013.html

时间: 2024-10-27 07:37:14

关于jquery读取excel文件内容 xls xlsx格式的相关文章

读取Excel文件内容在Web上显示

点击事件代码.cs protected void Button1_Click(object sender, EventArgs e) { string strPath = "d:/test.xls"; string mystring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source = '" + strPath + "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=

PHP读取Excel文件内容

PHP读取Excel文件内容 项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel. PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader.但是可惜的是不能够支持Excel 2007的格式(.xlsx). PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文

Java编程:使用Java读取Excel文件内容

微软的ODBC驱动程序把工作表中的第一行作为列名(译者注:即字段名),工作表名作为数据库表名. 要通过JDBC访问工作表,我们还必须创建一个新的ODBC数据源,在Windows 2000系统上创建数据源的过程如下: 进入“控制面板” --> “管理工具” --> “数据源(ODBC)”,(译者注:打开后选择系统DSN),点击添加,在弹出窗口中选择“Driver do Microsoft Excel(*.xls)” 然后在数据源名处输入一个名字myexcel(译者注:相当于数据库名),然后点击“

批量读取excel文件内容代码

最近工作需要批量添加映射excel文件字段的代码  于是通过读取excel2007实现了批量生成代码,记录下代码 需要引入poi的jar包 import java.awt.List; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import org.apache.poi

POI读取加密的EXCEL(兼容XLS,XLSX格式)

最近项目里需要读取加密的excel,有xls和xlsx两种类型,对于加解密apache官方网站有简要说明 需要的jar包poi-3.9,jar    poi-ooxml-3.9.jar  poi-ooxml-schemas-3.9.jar   xmlbeans-2.3.0.jar  dom4j-1.6.1.jar 注意poi的3个jar版本号要对应,不然会有一些问题. 上代码咯~ /** * Excel导入 */ @SuppressWarnings("unchecked") @Requ

java读取excel文件内容,并将读取到的内容写入到另一文件中

需要导入的jar包下载地址https://pan.baidu.com/s/16cTpUfx0KvKkbGYkXAUKMA 代码:ReadExcel.java //信1605-3 20163432 张运涛 package domain; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import jxl.Cell; import jxl.CellType; import jxl.Sh

Java读取excel(兼容03和07格式)

读取excel,首先需要下载POI的jar,可以去官网下,也可以在这里下载 一.简单说明 excel2003和excel2007区别比较大,最直观的感受就是扩展名不一样,哈哈 不过,使用POI的API都是面向接口编程的,实际使用起来区别其实不大(知道为什么要面向接口编程了吗?好处就在这里,O(∩_∩)O哈哈~) 代码最直观,直接看代码 二.范例 package com.hundsun.excel.test; import java.io.File; import java.io.FileInpu

读取Excel文件中的单元格的内容和颜色

读取Excel文件中的单元格的内容和颜色 先创建一个Excel文件,在A1和A2中随意输入内容,设置A1的字体颜色为红色,A2的背景为黄色.需要 using Excel = Microsoft.Office.Interop.Excel;或者using Microsoft.Excel; string file = @"E:\test.xls"; //测试文件 Excel.Application excel = null; Excel.Workbook wkb = null; try {

.NET读取Office文件内容(word、excel、ppt)

引用命名空间 1 using Microsoft.Office.Core; 2 using Word = Microsoft.Office.Interop.Word; 3 using Excel = Microsoft.Office.Interop.Excel; 4 using PowerPoint = Microsoft.Office.Interop.PowerPoint; Word文件的读取 1 public string ReadFile() 2 { 3 string text = str