简体   繁体   English

从javascript或jQuery创建简单的xlsx(excel文件)

[英]Create simple xlsx (excel file ) from javascript or Jquery

This is the fiddle https://jsfiddle.net/ym4egje0/ 这是小提琴https://jsfiddle.net/ym4egje0/

I have two things to ask 我有两件事要问

  1. this is creating a xls , how to create a xlsx file and it does not work in IE , only works in google chrome , how to make it work in IE ? 这是创建一个xls,如何创建一个xlsx文件,它在IE中不起作用,仅在google chrome中起作用,如何使其在IE中起作用?

  2. I want to put ColumnHead column header text and message1 and message2 should be consecutive rows . 我希望把ColumnHead列标题文本和MESSAGE1和消息2应该是连续的行。

Have to take as the index of (.) to cut into rows . 必须以(。)的索引切成行。

HTML 的HTML

<input id="btnExport" type="button" value = "Generate File" />

JS/Jquery JS / jQuery

$("#btnExport").click(function (e) { 

var ColumnHead = "Column Header Text";
var Messages = "\n message1.\n message2.";
   window.open('data:application/vnd.ms-excel,' + Messages);
    e.preventDefault();

});

Check out this fiddle to solve your problem . 查看这个小提琴来解决您的问题。 it will create file for both Google chrome and IE 它将为Google chrome和IE创建文件

https://jsfiddle.net/shaswatatripathy/fo4ugmLp/1/ https://jsfiddle.net/shaswatatripathy/fo4ugmLp/1/

HTML 的HTML

<input type="button" id="test" onClick="fnExcelReport();" value="download" />

<div id='MessageHolder'></div>

<a href="#" id="testAnchor"></a>

JS JS

var tab_text;
var data_type = 'data:application/vnd.ms-excel';


function CreateHiddenTable(ListOfMessages)
{
var ColumnHead = "Column Header Text";
var TableMarkUp='<table id="myModifiedTable" class="visibilityHide"><thead><tr><td><b>'+ColumnHead+'</b></td>  </tr></thead><tbody>';

for(i=0; i<ListOfMessages.length; i++){
    TableMarkUp += '<tr><td>' + ListOfMessages[i] +'</td></tr>';
}
TableMarkUp += "</tbody></table>";
$('#MessageHolder').append(TableMarkUp);
}

function fnExcelReport() {
var Messages = "\n message1.\n message2.";
var ListOfMessages = Messages.split(".");

CreateHiddenTable(ListOfMessages);

    tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
    tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';

    tab_text = tab_text + '<x:Name>Error Messages</x:Name>';

    tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
    tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';

    tab_text = tab_text + "<table border='1px'>";
    tab_text = tab_text + $('#myModifiedTable').html();;
    tab_text = tab_text + '</table></body></html>';

    data_type = 'data:application/vnd.ms-excel';

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");

    if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
        if (window.navigator.msSaveBlob) {
            var blob = new Blob([tab_text], {
                type: "application/csv;charset=utf-8;"
            });
            navigator.msSaveBlob(blob, 'Test file.xls');
        }
    } else {
    console.log(data_type);
console.log(tab_text);
      $('#testAnchor')[0].click()
    }
$('#MessageHolder').html("");
}
$($("#testAnchor")[0]).click(function(){
console.log(data_type);
console.log(tab_text);
  $('#testAnchor').attr('href', data_type + ', ' + encodeURIComponent(tab_text));
        $('#testAnchor').attr('download', 'Test file.xls');
});

CSS 的CSS

.visibilityHide
{
  visibility:hidden;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用JavaScript从excel(xlsx)文件上传的Google地图上的标记 - Markers on google maps uploaded from excel(xlsx) file using Javascript 通过JavaScript / Jquery使用多个工作表创建Excel文件 - Create Excel File with multiple work sheets from JavaScript/Jquery 如何从JavaScript生成Excel xlsx文件 - How to generate Excel xlsx files from JavaScript 使用客户端 JavaScript 创建一个带有几种样式的 excel 文件(如果可能,使用 js-xlsx 库) - Create an excel file with a few styles using client side JavaScript (if possible using js-xlsx library) 如何在 Javascript 中使用 XLSX 库来解析来自特定行的 Excel 文件 - How to use XLSX library in Javascript to parse an Excel file from a particular row 在尝试使用 JavaScript 库加载 xlsx excel 文件时从 (10:10:00) 获取小数 - Getting decimal from (10:10:00) while trying to load an xlsx excel file with a JavaScript library 在 JavaScript/SAPUI5 中读取 Excel (xlsx) 文件数据的问题 - Issue in Reading Excel (xlsx) File Data in JavaScript/SAPUI5 仅使用 javascript 和 html 读取 csv 或 excel (xlsx) 文件? - Read a csv or excel (xlsx) file with just javascript and html? 在前端下载 Excel (.xlsx) 文件 Javascript 通过亚马逊预签名 URL - Downloading Excel (.xlsx) File In Frontend Javascript Via Amazon Presigned URL 将数组导出到javascript中的Excel xlsx - Export array to excel xlsx in javascript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM