如何通过ColdFusion HTML表单优雅地将Excel文件导入到Sql Server中?

有没有人有一个优雅的build议,如何将Excel电子表格的内容通过Web窗体到SQL Server? 我需要允许我们的客户端上传适量的结构化数据,并且我需要这些数据最终驻留在一个sql表中。 我真的不能指望客户只能生成一个Excel文件,但我可以要求它是一个xlsx。

networking应用程序是用Coldfusion编写的; 它不需要能够处理大量的同时请求,但我不想考虑某种服务器端批处理作业处理或将用户分stream到一个asp.net页面(这正是我们正在做的现在)。

任何build议(或其他人如何成功做到这一点的例子),将不胜感激。 由于数据的敏感性,我们实在无法做任何损害Web或sql服务器安全的事情。

如果您使用的是CF9,那么您也可以轻松使用cfspreadsheet标签。 我特别提到了这一点,因为肖恩的联系没有(可能是因为它在CF现场相对较新)。 这里是livedoc链接: http ://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec17cba-7f87.html

为了充分利用,我将创build一个带有标准file upload字段的Web表单。 在处理表单提交的后端,获取文件的副本

<cffile action="upload" destination="uploaded.xls".....> 

然后使用:

 <cfspreadsheet action="read" query="myExcelData" src="uploaded.xls" ...> 

在这一点上,您的电子表格内容将作为查询对象提供。 然后你可以遍历这个查询,每次循环时在你的sql server中运行插入查询。 这应该做到这一点。

这里有最显着的select来帮助你指出正确的方向; select你最喜欢的(来源: Charlie Arehart )。

  • CFXL
  • JXLS
  • CFX_Excel

我个人的build议是去CFX_Excel路线。 虽然是一个商业产品,它将会给予您所列出选项的最大function/灵活性。