【问题标题】:JavaScript table export to excelJavaScript 表格导出到 excel
【发布时间】:2012-12-04 19:26:19
【问题描述】:

我找到了一种将 HTML 表导出到 Excel 的方法,但是在将 JavaScript 表导出从网站导出到 Excel 时遇到问题。请帮我找到一种方法,将此表导出到 Excel。

页面,我需要信息的地方:

www.jalgpall.ee/players.php?year=2012&team=84&player=28469&b=ML

本页javascript表格函数示例:

JavaScript: function showPlayers() {
    xmlhttp = GetXmlHttpObject();
    if (xmlhttp == null) {
        alert("Your browser dosen't support AJAX");
        return;
    }
    var url = "db/getplayergame.php?reg=ellermaasoft";
    url = url + "&player=" + document.getElementById("customers").value;
    url = url + "&sid=" + Math.random();
    url = url + "&year=" + document.getElementById("year").value;
    if (document.getElementById('tabber').tabber) {
        url = url + "&page=" + document.getElementById('tabber').tabber.activetab;
    }
    else url = url + "&page=0";
    xmlhttp.onreadystatechange = stateChanged;
    xmlhttp.open("GET", url, true);
    xmlhttp.send(null);

【问题讨论】:

  • 你试过什么?如果您发布到目前为止所尝试的示例代码,将会有所帮助。
  • 这不是一个“javascript 表函数”(不管是什么),它是一个 AJAX 调用。在没有看到此 AJAX 调用返回的内容的情况下,我怀疑任何人都可以帮助解决这个问题。
  • Aaron,我只找到了 HTML table 的方法,所以很遗憾我没有任何东西可以分享。 Diodeus,感谢您的回答和解释。此调用返回的结果与我上面的链接中的结果完全相同,即特定球员的足球比赛表。抱歉,如果我没有正确回答您的问题。
  • 该页面包含一个 Javascript 函数,用于生成(可能)一个 HTML 表格。您使用什么代码将 HTML 表格导出到 Excel?
  • Zev,对于 HTML 表格,我直接从 Excel 中获得了表格。 Data->From Web 并从某个网页中选择 HTML 表格。

标签: javascript ajax excel export


【解决方案1】:

我自己找到了答案。

javascript函数从页面获取信息:

http://www.jalgpall.ee/db/getplayergame.php?reg=ellermaasoft&player=28469&&sid=0.1&year=2012&page=0

我可以从这个页面直接将数据导出到 Excel,使用 Excel->Data->Export Data from Web

【讨论】:

    【解决方案2】:

    这是使用Kendo UI Library 的代码:

    function save_table_to_excel(id_of_table){
    //get the table
        var table = $(id_of_table)[0];
    
        var workbook = {
            creator: "The programmer",
            sheets:[]
        };
    
    //build the header
        var columns=[];
        var cells=[];
        var row = table.rows[0];
        for (var j = 0, col; col = row.cells[j]; j++) {
            columns.push({ autoWidth: true });
            cells.push({ value: col.textContent })
        }
        excelRows =[
            {
                cells: cells
            }
        ];
    
    //put the content
        for (var i = 1, row; row = table.rows[i]; i++) {
            cells=[];
            for (var j = 0, col; col = row.cells[j]; j++) {
                cells.push({ value: col.textContent })
            }
            excelRows.push({ cells: cells });
        }
    
    //export to Excel
        sheet={
            title: id_of_table,
            columns: columns,
            freezePane: { colSplit: 2, rowSplit: 1 },
    //      filter: { from: 0, to: 7 },
        };
        sheet.rows=excelRows;
        workbook.sheets.push(sheet);
        var dataURL = new kendo.ooxml.Workbook(workbook).toDataURL();
        // save the workbook
        kendo.saveAs({
            dataURI: dataURL,
            fileName: kendo.toString(new Date(), 'yyyy.MM.dd')+id_of_table+".xlsx"
        });
    
    
    
    }
    

    【讨论】:

      【解决方案3】:

      您也可以使用包fs-browsers
      它为 xls 文件提供了简单易用的导出方法。
      它是这样的:

      import { exportFile, EXCEL_FILE } from 'fs-browsers';
      const result_table = [
              ["1", "January", "2016"],
              ["2", "February", "2016"],
              ["3", "March", "2016"],
              ["4", "April", "2016"],
          ];
      const headings = ["Day", "Month", "Year"];
      exportFile(result_table, { type: EXCEL_FILE, headings: headings });

      【讨论】:

        猜你喜欢
        • 2016-08-28
        • 2023-03-27
        • 2014-06-20
        • 1970-01-01
        • 2023-03-16
        • 2011-09-27
        • 2014-10-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多