2012-01-10 34 views
0

我正在爲大學組織大量運動統計數據的應用程序工作。客戶希望能夠上傳Excel文件以更新數據庫。Web界面,用於批量更改數據庫

舉例Excel電子表格:

University | 2012 Men's Basketball Attendance | 2012 Out-of-State Tuition 
Harvard |       100,000 |     $100,000 
UPenn  |       150,000 |     $90,000 
UCLA  |       60,000 |     $40,000 

我擔心的正確識別,因爲行標題,如「賓夕法尼亞大學」,「賓夕法尼亞大學」,「賓夕法尼亞大學」或列標題的UniversityIDStatisticID像「2012年男子籃球出勤」,「男子籃球出勤2012」等...

我原本計劃有一個文本框的網格,但這對他們來說不實際(他們從一大堆以數千種統計數據和數百所學校的各種格式報告)。

我正在考慮允許他們下載這將是這個樣子的Excel文件:

  StatID|        1546 |      7562 
UID |University | 2012 Men's Basketball Attendance | 2012 Out-of-State Tuition 
101 |Harvard |         |     
126 |UPenn  |         |     
634 |UCLA  |         |     

,只是告訴他們與該行/列表頭不亂,並在任何他們想要補改變,但這似乎仍然相當危險(並且幾乎不可能是l33t)。

有人有什麼更好的點子嗎?我對任何事情都很開放。

我使用ASP.Net 4.0,SQL Server 2008中,jQuery的1.7.1,Excel 2010中

(我行告訴他們,他們必須使用先進的最新的瀏覽器這個編輯界面)

回答

0

我結束了讓他們上傳/下載的Excel與此電子表格:http://epplus.codeplex.com/

+0

我很遺憾,你沒有得到此主題的迴應,你發現你的答案之前,但一個方法我用過去解決這個問題的方法是提示用戶通過從現有值中進行選擇來識別未知值(來自列的不同值或列名稱一張桌子)。然後,您可以替換錯誤的值並正常處理電子表格。 – Chris 2012-03-21 03:47:44

+0

感謝@Chris使用EPPlus我能夠將數據驗證和自定義屬性應用於工作簿。然後,我創建了一個可匹配模式的數據表,並在電子表格中添加了一個'Try Catch'塊來引發異常,告訴用戶哪個單元格導致錯誤。然後我使用'SQLBulkCopy'將它傳遞給數據庫。 – Greg 2012-03-21 13:14:19

相關問題