是否有可能使用任何HTML5 fanciness导出本地存储到Excel?

这个问题是相似的,但不突出显示任何可能性导出数据。 思考?

我认为你误解了你链接到的问题的答案,build议你使用数据URI来导出。

由于文件格式本身是二进制( 或OOXML ),因此Excel是一个复杂的目标。 如果您只想 Excel中打开某些内容,则可以将更简单的CSV导出为数据URI。 下面的代码是有点粗糙和准备好,只有在Firefox中testing:

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); } 

这是页面标记:

 <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> 

在这里演示 。 点击你得到一个链接的button,点击链接,你会得到一个文件。 更改值,再次单击链接,你会得到一个不同的文件。 Firefox让我每次都selectExcel来打开它,但我不知道这是我的configuration还是一般问题。

Excel 2007中的CSV http://www.boogdesign.comhttp://img.dovov.comexternal/data-uri-csv.png

就像我说的,只在Firefox中进行testing,并且只能在支持数据URI的浏览器中使用。 您还需要window.btoa()函数或实现您自己的base64编码器 。

我不知道任何可以使Excel文件的Javascript库。 但是,您可以简单地将其导出为HTML或CSV格式 – 请注意,JavaScript无法生成文件,但HTML的工作草图可以满足此要求: http : //www.w3.org/TR/file-writer-api/

Excel在读取HTML格式的表格方面相当出色,因此您可以简单地使用Excel打开HTML文件。

您可以使用Downloadify创build一个文件以供下载: https : //github.com/dcneiner/Downloadify