【问题标题】:How do I elegantly import an Excel file into Sql Server via a Coldfusion HTML form?如何通过 Coldfusion HTML 表单优雅地将 Excel 文件导入 Sql Server?
【发布时间】:2011-11-28 13:34:10
【问题描述】:

对于如何通过 Web 表单将 Excel 电子表格的内容导入 SQL Server,是否有人提出了优雅的建议?我需要允许我们的客户上传适量的结构化数据,并且我需要这些数据最终驻留在 sql 表中。我真的不能指望客户只生成 Excel 文件,但我可以要求它是 xlsx。

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

任何建议(或其他人如何成功执行此操作的示例)将不胜感激。由于数据的敏感性,我们真的不能做任何事情来破坏 web 或 sql 服务器的安全性。

【问题讨论】:

    标签: sql-server excel coldfusion


    【解决方案1】:

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

    为了充分利用,我会创建一个带有标准文件上传字段的网络表单。在处理表单提交的后端,使用

    获取文件的副本
    <cffile action="upload" destination="uploaded.xls".....>
    

    然后使用:

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

    此时,您的电子表格内容将可用作查询对象。然后,您可以循环此查询,每次循环时将插入查询运行到您的 sql 服务器中。应该这样做。

    【讨论】:

    • 我不得不等到我们可以安装 CF9 才能尝试这个,但效果非常好!这是一个很好的建议;我什至没有考虑过。
    【解决方案2】:

    以下是最显着的选项,可帮助您指明正确的方向;选择你最喜欢的(来源:Charlie Arehart)。

    我个人的建议是走CFX_Excel 路线。虽然是商业产品,但它会为您提供所列选项中最多的功能/灵活性。

    【讨论】:

    • 我不确定为什么这被否决了,但如果是由于缺乏物理代码示例,那么对于数十个提供者示例来说,这似乎有点违反直觉查理页面上列出的选项——而不是让 OP 选择最适合他们需要的选项。因此,我添加了一条建议,以清除 OP 一条更直接的路径。
    • 毫无疑问查理的资源很有价值,但如果该链接不再起作用,这个答案绝对没用。
    • @Al Mm,请注意,CF 社区通常会假设某些资源将保持永久性。我会更新我的答案。
    猜你喜欢
    • 2011-09-01
    • 2014-04-05
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多