我有一个带有Datagrid的silverlight 2应用程序和一个按钮,可以通过返回服务器将其导出到Excel。
我可以创建一个表示数据网格的HTML字符串。我想将这个字符串附加到一个html元素,设置MIME type = application / vnd.ms-excel并提示我是否要打开或保存xls文件。
毕竟ASP可以做到这一点......
<% The main feature of this technique is that %>
<% you have to change Content type to ms-excel.%>
Response.ContentType = "application/vnd.ms-excel"
<TABLE>
<TR><TD>2</TD></TR>
<TR><TD>3</TD></TR>
<TR><TD>=SUM(A1:A2)</TD></TR>
</TABLE>
...似乎我应该能够在Silverlight中做类似的事情,将其推送到HTML DOM。
任何建议都非常感谢!
答案 0 :(得分:1)
不,这不会发生。您将需要让浏览器从SL发布的服务器中获取内容。
当浏览器将文档创建为HTML DOM时,您只能将HTML写入浏览器托管文档。因此,您无法说服浏览器您正在编写的文本流是另一种文档类型,如Excel电子表格。
答案 1 :(得分:1)
您始终可以使用javascript将数据网格的内容复制到用户剪贴板(只需创建“复制到剪贴板”按钮),然后允许他们将其粘贴到自己的电子表格中(只为客户端执行此操作,并且他们对解决方案非常满意。)如果需要,我可以发布代码。
答案 2 :(得分:0)