rob*_*rtc 26

我认为你误解了你所链接的问题的答案,它建议你使用数据URI进行导出.

Excel是一个复杂的目标,因为文件格式本身是二进制(或OOXML).如果您只想 Excel 中打开某些内容,则可以将更直接的CSV导出为数据URI.以下代码有点粗略,准备就绪,只在Firefox中测试过:

function exportData() {
    var data = '';
    for (var i=1;i<=2;i++) {
        var sep = '';
        for (var j=1;j<=4;j++) {
            data +=  sep + document.getElementById(i + '_' + j).value;
            sep = ',';
        }
        data += '\r\n';
    }
    var exportLink = document.createElement('a');
    exportLink.setAttribute('href', 'data:text/csv;base64,' + window.btoa(data));
    exportLink.appendChild(document.createTextNode('test.csv'));
    document.getElementById('results').appendChild(exportLink);
}
Run Code Online (Sandbox Code Playgroud)

这是页面标记:

<input type="number" id="1_1" value="2">,
<input type="number" id="1_2" value="1">,
<input type="number" id="1_3" value="4">,
<input type="number" id="1_4" value="3">
<br>
<input type="number" id="2_1" value="1">,
<input type="number" id="2_2" value="2">,
<input type="number" id="2_3" value="3">,
<input type="number" id="2_4" value="4">
<br>
<button onclick="exportData()">Export as CSV</button>
<div id="results"></div>
Run Code Online (Sandbox Code Playgroud)

在这里演示.单击您获得链接的按钮,单击该链接,您将获得一个文件.更改值,再次单击该链接,您将获得另一个文件.Firefox让我每次都选择Excel来打开它,但我不知道这是我的配置还是一般问题.

Excel 2007中的CSV http://www.boogdesign.com/images/external/data-uri-csv.png

就像我说的,只在Firefox中测试过,它只适用于支持数据URI的浏览器.您还需要window.btoa()函数或实现自己的base64编码器.