• web在线查看服务器的Excel文件


    项目里有个需求要在线查看服务端的Excel文件网上提供的代码不能远程访问服务端的Excel文件,只能同域访问,需要设置IIS跨域。

    代码:

    function loadRemoteFile(url) {

    vueApp.readWorkbookFromRemoteFile(url, function(workbook) {
    vueApp.readWorkbook(workbook);
    });
    }

    // 从网络上读取某个excel文件,url必须同域,否则报错

    //这里就要在IIS里设置了

    function  readWorkbookFromRemoteFile(url, callback) { 

    var xhr = new XMLHttpRequest(); 
    xhr.open('get', url, true);
    xhr.responseType = 'arraybuffer';

    xhr.onload = function(e) {
    if(xhr.status == 200) {
    var data = new Uint8Array(xhr.response)
    var workbook = XLSX.read(data, {type: 'array'});
    if(callback) callback(workbook);
    }
    };
    xhr.send(); 
    },

    function  readWorkbook(workbook) {

    var sheetNames = workbook.SheetNames; // 工作表名称集合
    var worksheet = workbook.Sheets[sheetNames[0]]; // 这里我们只读取第一张sheet
    var csv = XLSX.utils.sheet_to_csv(worksheet);
    //document.getElementById('result').innerHTML = this.csv2table(csv);
    $("#result").html(this.csv2table(csv));
    },
    csv2table(csv) {
    var html = '<table>';
    var rows = csv.split(' ');
    rows.pop(); // 最后一行没用的
    rows.forEach(function(row, idx) {
    var columns = row.split(',');
    //columns.unshift(idx + 1); // 添加行索引
    // if (idx == 0) { // 添加列索引
    // html += '<tr>';
    // for (var i = 0; i < columns.length; i++) {
    // html += '<th>' + (i == 0 ? '' : String.fromCharCode(65 + i - 1)) + '</th>';
    // }
    // html += '</tr>';
    // }
    html += '<tr>';
    columns.forEach(function(column) {
    html += '<td>' + column + '</td>';
    });
    html += '</tr>';
    });
    html += '</table>';
    return html;
    },

    //调用

    loadRemoteFile("http://localhost:18071//Book1.xlsx");

     web查看Excel具体代码路径---------http://blog.haoji.me/js-excel.html

    IIS跨域配置-------https://blog.csdn.net/changhong_sd/article/details/103693148

     

     欢迎指教:17718905918

  • 相关阅读:
    005.SQLServer AlwaysOn可用性组高可用简介
    004.Windows Server 故障转移群集 (WSFC)简介
    003.SQLServer数据库镜像高可用部署
    附008.Kubernetes TLS证书介绍及创建
    附007.Kubernetes ABAC授权
    附006.Kubernetes RBAC授权
    附005.Kubernetes身份认证
    附004.Kubernetes Dashboard简介及使用
    附003.Kubeadm部署Kubernetes
    附002.Minikube介绍及使用
  • 原文地址:https://www.cnblogs.com/w1-y2-q5/p/12793298.html
Copyright © 2020-2023  润新知