我有一个网页,要求用户可以将Excel电子表格中的大量文本数据直接粘贴到页面的输入控件中。 通常,用户将粘贴在150到300个电子表格单元格中的任何位置,这些单元格都在一列中。
我可以用什么方法在网页上捕获这些数据?
感谢
答案 0 :(得分:1)
我玩了几种方法,但我找到的最好的方法是从单个多行文本框开始,让用户将数据传递到该框中。它将以多行制表符分隔格式提供,您可以将其解析并放置在相应的表单字段中,或者生成表单字段。
答案 1 :(得分:1)
通过这种方式,您将面临丢失单元格格式和分离的风险,并且您可能最终会得到一堆不可解析的数据。我宁愿添加文件上传字段,以便用户可以浏览和上传Excel甚至CSV文件。在服务器端代码中,您需要读取并将上载的Excel或CSV文件解析为可用的数据元素/变量/对象,然后按照您希望的方式处理它们,例如:保存在数据库中和/或重新显示在HTML表中。
目前还不清楚你正在使用哪种服务器端编程语言/框架,但根据你的问题历史记录,我猜它是ASP.NET,所以here提示你如何处理它服务器端。
更新:
问题是电子表格来自各种来源且没有标准格式,因此无法解析
那么,你最好的选择就是拥有一个很大的<textarea>
,然后根据换行符(\n
)和制表符(\t
)的存在来猜测单元格格式以及那种东西。但是,请记住格式可能取决于Excel版本和使用的webbrowser make / version。在某些情况下,它最终可能是HTML格式!当格式不可确定时,您可以考虑简单地显示错误消息。
由于大数据引起的问题是否会引发,取决于所使用的客户端和服务器。有些客户可能会在数据达到兆字节时窒息,尤其是MSIE。当提交的数据超过某个限制时服务器可能会出错,然而这个数据非常高,可以考虑一两千兆字节,但这应该可以在服务器设置中配置。您应该以任何方式使用HTTP POST
方法,因为您可以在GET
查询字符串中发送的数据限制在255到8K字节之间,具体取决于所使用的客户端。