2012-01-10 24 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

相关问题