【问题标题】:After import of Excel data, big post of form with the values导入 Excel 数据后,大张贴有数值的表格
【发布时间】:2013-05-24 15:13:29
【问题描述】:

我目前正在开发一个 Web 应用程序(C#、ASP.NET MVC),它可以让用户通过 Excel 文件将自己的数据上传到 SQL Server 数据库。在大多数情况下,Excel 文件将有 5 列超过 2000 行。

为了存档这个,我们正在考虑以下解决方案,主要的关键是性能:

  1. 用户上传一个包含 2000 行的 excel 文件。
  2. Web 应用程序从 json 格式的 excel 文件中返回行,jQuery 将对值进行验证和一些计算,如果值无效,他会弹出一些建议。最后 jQuery 将数据附加到一个表单(10000 个文本框)
  3. 用户可以对无效数据进行更改和需要改进,并提交
  4. Web 应用程序使用SqlBulkCopy(与发布的数据)到合并表
  5. 存储过程会将其合并到最终表中

这是一个好的解决方案,有更好的方法吗?是否可以一次发布 10000 个文本框?

谢谢!

【问题讨论】:

  • 你能在 VBA 中完成这一切吗?这样你就不需要重新显示 10000 个文本框,我敢肯定,用户无论如何都不会注意。如果您在 VBA 中执行此操作,则可以将包含代码的模块保存为加载项并将其分发给您的用户。
  • 是指桌面应用程序吗?这不是解决方案,因为当我的 db/excel 结构发生变化时,我必须再次将其全部分发给 200 个用户。

标签: c# asp.net sql-server excel post


【解决方案1】:

第一部分很好,但第二步让我很着迷。这似乎不仅是一场性能噩梦,而且肯定是一场 UI 噩梦。我建议的解决方案是让用户知道哪些行有问题并让他们在 Excel 中修复它们。然后,您可以选择添加正确的行、保存文件以供以后使用或将其全部丢弃。其他步骤对我来说也不错。

我不知道可以向网页添加多少文本框的限制,但就像我说的那样,如果已经存在可以使用户轻松完成此操作的平台(Excel )。

【讨论】:

  • 感谢您的回答,这确实是一场 ui 噩梦,我已经计划将它们分为:有效、无效和分页。但我返回所有行的主要原因是因为我必须对其进行一些计算(这样我可以显示一个加载栏)。就像你说的第二步会遇到一些性能问题,主要原因是什么?谢谢。
  • @SAST 我不能 100% 确定性能影响,但只是动态添加这么多文本框在我看来会很慢。不过,今天的浏览器可能会很快完成它
猜你喜欢
  • 2012-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 2016-09-20
  • 2011-08-27
  • 2015-03-13
相关资源
最近更新 更多