首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel表格转Html表格

Excel表格转Html表格
EN

Stack Overflow用户
提问于 2017-05-24 01:18:47
回答 1查看 1.1K关注 0票数 0

我一直在尝试将一个Excel文件放入我的代码中,然后用它生成一个表。我不知道我的代码出了什么问题。它没有显示任何错误,但它也不能工作...请帮帮忙,我认为加载的文件可能没有正确进入第二个CreateTable函数。代码:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>
<head>
    <title>whatever</title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>




<script type="text/javascript" src="http://cdn.jsdelivr.net/alasql/0.3/alasql.min.js">

npm install -- save alasql
bower install --save alasql    
import alasql from 'alasql';  
npm install -g alasql          

function testfunction(){

(function () {
    'use strict';

    angular
        .module('jfy')
        .factory('ImportExportToExcel', ImportExportToExcel);

    function ImportExportToExcel(alasql, $log, $rootScope) {
        return {
            importFromExcel: function (event) {
                if (event.target.files.length == 0) {
                    return false;
                }
                alasql('SELECT * FROM FILE("test.xlsx",{headers:true})', [event], function (data) {
                    $rootScope.$broadcast('import-excel-data');
                });


            },


            exportToExcel: function (fileName, targetData) {
                if (!angular.isArray(targetData)) {
                    $log.error('Can not export error type data to excel.');
                    return;
                }
                alasql('SELECT * INTO XLSX("' + fileName + '.xlsx",{headers:true}) FROM ?', [targetData]);
            }
        }
    }



})();
}

$(document).ready(function(){
    $('#MyButton').click(function(){
       importFromExcel();
    });
  });

var myBooks = importFromExcel();
function CreateTable(){



 var col = [];
        for (var i = 0; i < myBooks.length; i++) {
            for (var key in myBooks[i]) {
                if (col.indexOf(key) === -1) {
                    col.push(key);
                }
            }
        }

        // CREATE DYNAMIC TABLE.
        var table = document.createElement("table");

        // CREATE HTML TABLE HEADER ROW USING THE EXTRACTED HEADERS ABOVE.

        var tr = table.insertRow(-1);                   // TABLE ROW.

        for (var i = 0; i < col.length; i++) {
            var th = document.createElement("th");      // TABLE HEADER.
            th.innerHTML = col[i];
            tr.appendChild(th);
        }

        // ADD JSON DATA TO THE TABLE AS ROWS.
        for (var i = 0; i < myBooks.length; i++) {

            tr = table.insertRow(-1);

            for (var j = 0; j < col.length; j++) {
                var tabCell = tr.insertCell(-1);
                tabCell.innerHTML = myBooks[i][col[j]];
            }
        }

        // FINALLY ADD THE NEWLY CREATED TABLE WITH JSON DATA TO A CONTAINER.
        var divContainer = document.getElementById("showData");
        divContainer.innerHTML = "";
        divContainer.appendChild(table);
        object.onclick = function(){table};
}}

$(document).ready(function(){
    $('#MyButton2').click(function(){
       CreateTable();
    });
  });

</script>




</head>
<body>
<input type="button" value="Retrieve Data" id="MyButton" >
<div id="data"></div>

<input type="button" value="Create Table" id="MyButton2" >

    <div id="showData"></div>

</body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2017-05-24 02:12:15

我不知道确切的答案,但使用

<script type="text/javascript" src="http://cdn.jsdelivr.net/alasql/0.3/alasql.min.js">(NO CODE HERE!!!)</script> <script>(YOUR CODE HERE)</script>

而不是

代码语言:javascript
运行
复制
<script type="text/javascript" src="http://cdn.jsdelivr.net/alasql/0.3/alasql.min.js">(your code here)</script>

这阻止了函数的调用。

另外,这些代码行阻塞了函数:

代码语言:javascript
运行
复制
npm install -- save alasql
bower install --save alasql
import alasql from 'alasql';
npm install -g alasql   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44141212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档