正确的方法将HTML表格导出为Excel文件?

将Excel表格导出为Excel文件的正确方法是什么,以便用户可以单击button并下载Excel文件(理想情况下使用Angular而不使用服务器)?

我见过很多这样的答案: 使用angularjs导出到xls,但是这样做会产生类似如下的错误:

“文件格式和扩展名不匹配…文件可能被破坏…”

我相信该文件实际上是HTML或XML格式,而不是实际的Excel。

该警告不会给用户呈现良好的图像。

如何在不使用服务器的情况下将文件实际导出为Excel的正确方法是什么?

还是需要创build该文件的服务器?

如果你只是使用表格数据,那么我认为最好的解决scheme是build立一个CSV文件。 这可以由excel本地打开,并在必要时转换为XLS文件。 您可以通过使用数据URI来排列数据。 octet-stream将强制文件下载,而不是在浏览器中打开。 这里是一个例子:

 <a href="data:application/octet-stream,field1%2Cfield2%0Afoo%2Cbar%0Agoo%2Cgai%0A">CSV</a>