0

我在 Visual Studio 2013 中有一个灯光开关项目,使用 vb.net。我希望用户能够单击一个按钮并让 lightswitch 找到一个 excel 文件,并根据预先确定的列映射将该文件上传到 sql 表。

我的偏好是使用 Visual Studio 的 Office 集成扩展,我通过从以下链接下载它来使用 VS 2013:http ://www.ge.tt/71iuRQv/v/0 但是,office 的文档和示例在将 excel 电子表格放入 lightswitch Web 客户端的显示中,而不是放入我需要的 sql 数据表中,集成似乎非常繁重。以下是我一直在关注的示例:http: //blogs.msdn.com/b/bethmassi/archive/2012/07/18/new-and-improved-office-integration-pack-extension-for-lightswitch。 aspx

或者,我有一个现有的存储过程,我可以通过从客户端向服务器发送一个 Web API 扩展来请求服务器调用这个存储过程。根据 Beth Masi 和 Paul van Bladel 的示例,我已经为其他存储过程提供了此功能。(Stackoverflow 不会让我发布链接...)

这种方法的不受欢迎的部分是存储的过程是旧的,而且很乱。

我进行了搜索和搜索,但还没有找到任何人使用灯开关解决 VS 2013 的这个问题。有什么有用的建议吗?

4

2 回答 2

0

我使用了Matt Sampson详述的方法来存储 word 文件,效果很好。因为它只存储原始二进制文件,它也应该处理 Excel 文件。

如果您在 LightSwitch 中创建表,请使用BinaryType。如果您使用 SQL 创建脚本,请使用varbinary(MAX).

您需要创建自定义 Silverlight 对话框才能访问该OpenFileDialog对象。然后将文件以FileStream.

最后,您需要为控件的关闭方法添加一个处理程序,然后将控件显示给用户。最有可能在一个按钮中完成。这需要在主调度程序上完成。

代码示例在 C# 中,但我只是使用了网络上许多可用的翻译器之一,并复制/粘贴了 VB.NET 代码。

于 2014-03-04T16:42:43.070 回答
0

另一种选择可能是考虑使用 DTSEXEC 运行时执行 SSIS 包来执行上传 - 特别是如果目标 Excel 电子表格具有预定义的布局和内容数据类型。

更简单的是,您也许可以使用SQL Server BULK INSERT命令来完成工作 - 尽管这需要 SQL 客户端连接到您的数据库。

高温高压

于 2014-08-29T06:02:07.493 回答