【问题标题】:Loading Excel into application from client side Excel file从客户端 Excel 文件将 Excel 加载到应用程序中
【发布时间】:2013-10-27 19:45:56
【问题描述】:

我正在构建一个应用程序,该应用程序将存储在 Excel 工作表中的数据作为输入数据。我希望用户能够选择他们想要从中加载数据的文件,让应用程序连接到存储在客户端计算机上的 Excel 文件并从中读取,然后关闭连接。我可以在不将 Excel 文件上传到服务器的情况下执行此操作吗?除了使用文件对话框选择文件并将路径和文件名传递给连接到 Excel 文件和进程的过程之外,我什么都能做。我尝试使用文件输入控件,但无法将路径和文件名传递给连接字符串。关于我可能采取的其他路线有什么建议吗?

编辑:

该应用程序基本上接受用户输入,或者通过页面上的文本框的单个输入或通过 Excel 电子表格的批量上传,处理输入并输出 Excel 格式的报告。页面上唯一显示的是列表框中加载的输入(通过刚才描述的 2 种方法),用户可以添加或删除其他项目。

【问题讨论】:

  • 我给出了一个简短的回答。如果您提供有关您的方案的更多详细信息,我们可能会提供进一步的帮助。数据的基本格式是什么?简单的行和列?是简单的“矩形”格式,还是更复杂?
  • 这是一个非常简单的 2 列矩形格式。此外,这里的安全性不是问题,因为该应用程序只能通过 Intranet 供内部用户使用。谢谢埃里克
  • 读到你的问题我有点迷茫。在发布答案之前应该询问更多信息。你想在服务器上处理数据,在客户端显示,还是什么?如果您只想显示它,IFrame 可以工作...看这里:stackoverflow.com/questions/9678127/…。如果你想在服务器上处理它,你应该上传它。时期。如果你因为某种原因不能,我不知道还能告诉你什么。
  • 仅供参考,由于您似乎是新人,因此这是不请自来的建议,无意居高临下或粗鲁。发布问题时,信息越多越好:tinyurl.com/so-hints
  • 感谢您的更新。如果您在服务器上创建报告,则必须上传文件。如果您在客户端上创建报告,则必须上传文件并将相关数据传回客户端。如果您不想进行整页回发,请发回一个 json 对象,您可以通过客户端上的 JavaScript 对其进行迭代。干杯!您还有其他问题吗?

标签: asp.net


【解决方案1】:

简短的回答是“仅在 IE 中使用 ActiveX 控件,除非您为其他浏览器编写自己的插件。”我的意见是,“你不应该。”

Stack Overflow 上已经有很好的讨论:How to read an excel file contents on client side?

鉴于您提供的其余信息,长答案是我会推荐以下内容:

1) 将电子表格上传到服务器。 2)提取服务器上的数据。 3) 以适合您情况的任何形式将数据返回给客户端。 4) 清理服务器上的原始文件。

一些进一步的建议给你,因为你在你的 cmets 中提供了这么多的细节:

  • 不要使用 GUID 生成服务器端文件名,而是使用格式为 YYYY-MM-DD-HH-MM-SS-Ticks 的时间戳,后跟原始文件名。
  • 每次添加文件时,请删除所有超过 N 天的文件,而不是立即删除数据文件。

这样,如果您以后在处理文件时遇到任何问题,您就可以将上传的文件检索到您的开发环境并在那里进行调试。当然,假设数据不是个人信息或以其他方式敏感。

干杯!

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2011-06-02
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多