【问题标题】:How to push data from excel to SQL Server?如何将数据从excel推送到SQL Server?
【发布时间】:2011-12-23 15:28:38
【问题描述】:

我编写了一个简单的 ASP.NET MVC 2 应用程序,它可以存储数据并可以使用 Microsoft 的 openXML 为 excel 文件动态创建 excel 文件。

将用户在 excel 中所做的更改推送到我的数据库的最佳方式是什么?我知道这可以通过文件上传来完成,但这对于最终用户导航到我的网站、选择上传,然后选择他们的文件来说是相当突兀的。

有没有办法使用 VBA 从 excel 文件中进行一键发布? VBA 可以直接与数据库交互,但从数据安全的角度来看,这似乎很危险,而且逻辑重复。

Web 服务是否适用于 MVC 架构?如何让启用 vba 宏的文档将自身发送到服务器?

【问题讨论】:

  • 你是认真的 - 一份自己发送的文件吗?这将是一个巨大的安全问题!
  • @Yahia 怎么样?它不只是让用户通过他们的网络浏览器和网站自动上传文件吗?
  • 要成功上传,您需要在服务器上进行身份验证,这意味着此信息以某种方式内置到 VBA 中...您可以尝试使用“一次性令牌”或类似内容

标签: asp.net sql-server asp.net-mvc excel vba


【解决方案1】:

对于那些寻求修复的人,我最终使用了 vba 的 InternetExplorer.Application object 并与我网站上的上传表单进行交互。

有关上传表单的更多信息,请查看: http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx

有关 VBA 和 InternetExplorer.Application 对象的更多信息,请查看: www.motobit.com/tips/detpg_uploadvbaie/

【讨论】:

  • 如果您的问题得到了答案,您应该将其标记为答案,即使您自己回答了 :)
【解决方案2】:

我假设这是针对特定用户的。我做了一些与你之前描述的非常相似的事情。

告诉用户将 excel 文件保存在他们的 DropBox 中并与您共享文件。 让服务器监听此文件的更改并运行服务器端例程以导入数据。

免责声明:这不是一个安全的解决方案,但它很容易完成工作。

【讨论】:

    【解决方案3】:

    您可以查看用于将数据批量上传到 sql server 的 Sql server integration services。创建后的集成服务可以使用普通的 c# 桌面程序或使用 windows 服务运行。 但是你可能

    • 需要确保这发生在后台并且必须 一个异步任务。
    • 还需要确保它被正确固定 不向任何其他用户授予直接执行权限

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多