2010-06-08 113 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