【问题标题】:Silverlight Export Datagrid to Excel (without roundtrip)Silverlight 将 Datagrid 导出到 Excel(无往返)
【发布时间】:2009-06-18 21:32:46
【问题描述】:

我有一个 silverlight 2 应用程序,它带有一个 Datagrid 和一个用于通过返回服务器将其导出到 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 上。

任何建议都非常感谢!

【问题讨论】:

    标签: silverlight excel datagrid


    【解决方案1】:

    您始终可以使用 javascript 将数据网格的内容复制到用户剪贴板(只需创建一个“复制到剪贴板”按钮),然后允许他们将其粘贴到自己的电子表格中(只是为客户这样做,他们对解决方案非常满意。)如果您需要,我可以发布代码。

    【讨论】:

      【解决方案2】:

      不,这不会发生。您将需要让浏览器从您的 SL 发布的服务器中获取某些内容。

      只有当浏览器将文档创建为 HTML DOM 时,您才能将 HTML 写入浏览器托管文档。因此,您无法让浏览器相信您正在编写的文本流是另一种文档类型,例如 Excel 电子表格。

      【讨论】:

      • 谢谢。我明白你在说什么,希望有一个未记录的功能。也许他们可以重载 HtmlPage.PopupWindow 让它接受一个内联的 html 字符串,至少在 IE 中,因为他们拥有它。我想律师可能会哭诉犯规。概念上类似于这家伙想要的……bytes.com/groups/javascript/…
      【解决方案3】:

      这是一个对我有用的好方法 http://forums.silverlight.net/forums/p/179321/404357.aspx

      【讨论】:

        猜你喜欢
        • 2010-09-23
        • 1970-01-01
        • 1970-01-01
        • 2012-12-06
        • 2010-09-21
        • 1970-01-01
        • 2013-11-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多