我需要在HTTP响应中发送CSV文件.如何将输出响应设置为CSV格式?
这不起作用:
Response.ContentType = "application/CSV";
Run Code Online (Sandbox Code Playgroud) Javascript可以操纵浏览器显示的文档,因此以下内容:
<script>
document.write("<table><tr><td>Hola</td><td>Adios</td></tr></table>");
</script>
Run Code Online (Sandbox Code Playgroud)
将使浏览器显示一个表,就像它是原始HTML文档一样:
<table>
<tr>
<td>Hola</td>
<td>Adios</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
有没有办法保存/提供此文档内容?
目前我们使用Ext-js生成一些很好的报告,我想做的是拥有它的"text/html"版本(我的意思是,不需要javascript的东西)
因此,在页面的最后,我将添加一个按钮:"另存为blaba",文档应显示文本/纯文本版本.
我现在能想到的唯一方法是将内容写入javascript变量,如:
var content = document.toString(); // or something magic like that.
// post it to the server
Run Code Online (Sandbox Code Playgroud)
然后将该值发布到服务器,并让服务器显示该值.
<%=request.getParameter("content-text")%>
Run Code Online (Sandbox Code Playgroud)
但看起来很棘手.
还有其他选择吗?
编辑
好的,我几乎得到了它.现在我只需要弹出新窗口,这样选项"你想保存它吗"
这是我到目前为止所得到的
<script>
document.write("<div id='content'><table><tr><td>Hola</td><td>Adios</td></tr></table></div>");
function saveAs(){
var sMarkup = document.getElementById('content').innerHTML;
var oNewDoc = document.open('application/vnd.ms-excel');
oNewDoc.write( sMarkup + "<hr>" );
oNewDoc.close();
}
</script>
<input type="button" value="Save as" onClick="saveAs()"/>
Run Code Online (Sandbox Code Playgroud)
这条线:
var oNewDoc = document.open('application/vnd.ms-excel');
Run Code Online (Sandbox Code Playgroud)
应指定新的内容类型,但它将被忽略.
这个问题类似,但没有强调导出数据的任何可能性.思考?
javascript ×2
asp.net ×1
client-side ×1
csv ×1
document ×1
excel ×1
html5 ×1
http ×1
server-side ×1