2010-06-08 115 views
0

我有一个网页,有一个要求,允许用户大量的文本数据直接粘贴来自Excel电子表格到页面的输入控件。 通常,用户将在150列至300列之间的任何位置粘贴电子表格单元格,这些单元格均位于一列中。输入大量文本数据的HTML形式

有什么好的方法可以用来在网页上捕获这些数据?

感谢

回答

1

我已经打了这样做的几种方法,但我已经找到了最好的办法是开始一个单一的多行文本框,让用户以往的数据看装进盒子。它将带有一个多行标签分隔格式,然后您可以将JavaScript解析并放置在适当的表单字段中,或者生成表单字段。

+0

粘贴大量数据时,您是否有使用此方法的问题? – MakkyNZ 2010-06-08 21:32:08

+0

其基本上客户端性能有限。我在一台使用chrome的相当新的机器上测试了这种方法,并且在它开始真正显示大部分性能问题之前,能够获得8000行奇数行的20列数据。还有最终遇到的发布数据大小的限制,但对于单列数据,它应该在任何浏览器中至少运行1000行。 – 2010-06-08 21:46:51

1

这样你会冒这个险单元格格式和分离迷路,你很可能会以无法解析的数据一堆结束。我宁愿添加文件上传字段,以便用户可以浏览并上传Excel甚至CSV文件。在服务器端代码中,您需要读取并解析上传的Excel或CSV文件,将其转换为可用的数据元素/变量/对象,然后以您想要的方式处理它们,例如保存在数据库中和/或重新显示在HTML表格中。

你不清楚你正在使用哪种服务器端编程语言/框架,但根据你的问题历史记录,我猜这是ASP.NET,所以here是一些提示,你可以在服务器端处理它。


更新按照评论:

问题是电子表格来自各种来源,没有标准格式,所以就不可能解析

好,那么你最好的选择就是拥有一个大的<textarea>并且根据线路中断的存在来猜测单元格式(\n)a nd选项卡(\t)和那种事情。但请记住,格式可能取决于Excel版本和所使用的浏览器制作/版本。在某些情况下,它最终可能是HTML格式!格式不可确定时,您可以考虑只显示一条错误消息。

大数据可能引发的问题可能会引发取决于所使用的客户端和服务器。有些客户可能会在数据量达到兆字节时憋不住,特别是MSIE。当提交的数据超过某个限制时服务器可能会出错,但这个限制非常高,可能是一个或两个,但是这应该可以在服务器设置中进行配置。您应该以任何方式使用HTTP POST方法,因为根据所使用的客户端,您可以在GET查询字符串中发送的数据限制在255到8K字节之间。

+0

问题是电子表格来自各种来源并且没有标准格式,因此将无法解析 – MakkyNZ 2010-06-08 21:31:10