有没有人对如何通过网络表单将Excel电子表格的内容导入SQL Server有一个优雅的建议?我需要允许我们的客户上传适量的结构化数据,我需要这些数据最终驻留在sql表中。我真的不能指望客户只生成Excel文件,但我可以要求它是xlsx。
网络应用程序是用Coldfusion编写的;它不需要能够处理大量的并发请求,但我不想考虑某种服务器端批处理作业处理或将用户分流到asp.net页面(这就是我们正在做的事情)现在)。
任何建议(或其他人如何成功地做到这一点的例子)将不胜感激。由于数据的敏感性,我们实际上无法做任何事情来破坏Web或sql服务器的安全性。
答案 0 :(得分:12)
如果您使用的是CF9,那么您也可以轻松使用cfspreadsheet标签。我特别提到这个,因为Shawn的链接没有(可能是因为它在CF场景中相对较新)。这是liveoc链接:http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec17cba-7f87.html
为了充分利用,我将创建一个带有标准文件上传字段的Web表单。在处理表单提交的后端,使用
获取文件的副本<cffile action="upload" destination="uploaded.xls".....>
然后使用:
<cfspreadsheet action="read" query="myExcelData" src="uploaded.xls" ...>
此时,您的电子表格内容将作为查询对象提供。然后,您可以遍历此查询,每次循环时都将插入查询运行到sql server中。应该这样做。
答案 1 :(得分:0)
以下是帮助您指明正确方向的最值得注意的选项;选择你最熟悉的东西(资料来源:Charlie Arehart)。
我的个人建议是走CFX_Excel路线。虽然是商业产品,但它将为您提供所列选项的最大功能/灵活性。