1

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

编辑:

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

4

1 回答 1

2

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

Stack Overflow 上已经有一个很好的讨论: 如何在客户端读取 excel 文件内容?

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

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

为您提供一些进一步的建议,因为您在评论中提供了如此多的细节:

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

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

干杯!

于 2013-10-18T20:38:29.740 回答