从 LightSwitch HTML 客户端导出到 Excel

本文关键字:Excel 客户端 LightSwitch HTML | 更新日期: 2023-09-27 18:30:15

因为网络上的许多LightSwitch帖子都与已弃用的Silverlight桌面应用程序有关,而不是HTML 5客户端应用程序,我希望您能在这里帮助我正确了解当前的技术状态

我的目标:

  • 将数据从查询(处理参数)导出到相当复杂的(多个工作表,可能是预定义的图表)Excel电子表格
  • 尽可能少的代码(意味着:我不关心开发数据流并构建 HTML 标头和类似的东西,但将其放在库中会很好)
  • 可以使用模板并用数据填充它
  • Visual Studio 2013 兼容
  • 用户端无需额外安装:用户应该只能下载Excel文件
  • 服务器/开发环境是 IIS 7MS SQL Microsoft Visual Studio 2013

我发现:

  • Office Integration Pack -> [NO GO] Stackoverflow post:它已针对 Web 浏览器应用程序弃用
  • Microsoft报表查看器 ->看起来不错,但必须尝试一下以查看它是否适用于模板
  • SQL Server Reporting Service ->只找到旧帖子,可能不是HTML客户端的最快选择
  • Telerik Reporting -> [NO GO] 可能不再支持 HTML 客户端
  • 活动报告示例 ->看起来正在积极开发,可能值得投资(它是商业的)
  • DevExpress -> 本来是我最喜欢的选择之一(据我所知),但它们不支持 LightSwitch HTML 客户端,而且似乎它们通常根本不继续支持 LightSwitch。

  • OpenXML ->令人印象深刻的开源项目,允许模板,需要一些编码工作,但看起来值得信赖

  • SpreadsheetLight (基于 OpenXML)
  • EPPlus(基于OpenXML)->没有找到任何LightSwitch示例,但在服务器端可能很好

我的想法:目前我正朝着OpenXML的方向发展:

  • 活动项目
  • 提供文档(最新示例)
  • 阅读有关模板的某处

谢谢,如果您知道其他方法,或者让我知道是否有使用这些工具之一的经验。

问候斯派基

从 LightSwitch HTML 客户端导出到 Excel

我使用过SQL报告服务,按照您的说法进行设置有点冗长,但是一旦有了它,它对于LightSwitch HTML非常有用

当您生成报告时,从 Lightswitch 本身 我使用以下代码将报告的确切版本下载为 PDF 格式。 这可以对 Excel 文件完成。 这只是在按钮的执行代码上

var InvoiceNum = screen.Invoice.InvoiceID;
window.open("http://yourservername/ReportServer_databasename/Pages/ReportViewer.aspx?%2fInvoice&rs:Command=Render&InvoiceID=" + InvoiceNum + "&rs:Format=PDF");

这将相关信息通过 Lightswitch 直接从数据库传递到报告。 删除此项: "&rs:Format=PDF");如果您希望在浏览器窗口中查看报告。这样,您可以选择将报告保存为所需的任何格式。我想我会包括这个扩展思想,因为我发现它非常有用。

请务必注意,正如我发现的那样,/ReportServer_databasename对于下载它们至关重要。 仅使用Reports_databasename意味着末尾的扩展不起作用。

链接到文件扩展名:http://msdn.microsoft.com/en-gb/library/ms154040.aspx

希望这有帮助。

我找到了这篇博文(不是MSDN的成员,所以很遗憾无法投票)https://hgminerva.wordpress.com/2012/05/28/how-to-export-data-to-csv-using-microsoft-lightswitch-web-application/

它很好地解决了这个问题。这里也发布了一个更新的版本,用C#:https://social.msdn.microsoft.com/Forums/vstudio/en-US/e5f0d29d-5133-4297-8d59-33a208bda903/removing-controlavailable-after-adding-controlavailable?referrer=http://social.msdn.microsoft.com/Forums/vstudio/en-US/e5f0d29d-5133-4297-8d59-33a208bda903/removing-controlavailable-after-adding-controlavailable?forum=lightswitch

第三个答案也解决了导出多个页面的小问题。

所有功劳都归功于 hgminerva 的原始 VB 和 Otis Ranger 的更新和 C# 版本