【发布时间】:2014-02-20 16:21:59
【问题描述】:
如何使用 ColdFusion10 将 Excel 电子表格上传到现有表格中? 我有一个已保存的 Excel 电子表格,并且我有输出所需数据的 CFQuery(“myQuery”)。如何循环查询并导入现有表?
数据库:MS SQL Server
到目前为止,我知道我需要遍历包含所有数据的查询。
<cffunction name="uploadDogSheet" access="public" output="yes" returnType="void"
hint="upload the spreadSheet">
<cfset currentRowChecked = "1">
<cfset lastRow = numberOfRows> <!-- sets the number of rows that it will validate-->
<cfspreadsheet
action="read"
src="#SESSION.theExcelFile#"
headerrow= "1"
excludeHeaderRow = "true"
query = "allDoggyData"
rows = "1-#lastRow#" />
<cfscript>
allDataQuery = new Query(
sql ="SELECT * FROM allDoggyData",
dbtype = "query",
allData = allData);
allDataQueryResult = allDataQuery.execute().getResult();
</cfscript>
<cfloop query="allDoggyData">
<CFQUERY DATASOURCE="#mydatabase#" name="input_req">
insert into temp_dog_upload (dogNameColumn, dogBreedColumn, dogColor)
values
(
<cfqueryparam value="#allDoggyData.dogNameExcelColumn#" cfsqltype="cf_sql_varchar">,
<cfqueryparam value="#allDoggyData.dogBreedExcelColumn#" cfsqltype="cf_sql_varchar">,
<cfqueryparam value="#allDoggyData.dogColorExcelColumn#" cfsqltype="cf_sql_varchar">
)
</CFQUERY>
</cfloop>
<p>The sheet has been uploaded!<p></span>
【问题讨论】:
-
您使用的是什么数据库? MSSQL、MYSQL 还是?
-
数据库:MS SQL Server
-
为什么不直接使用 Management Studio 中的“导入数据”任务?
-
我有一个来自网站的上传界面,用户可以上传他们的电子表格。我正在使用 CFSPREADSHEET 阅读该电子表格,并且还有一个包含所有数据的 CFQUERY。
-
您假设您必须循环,但情况可能并非如此。首先搜索“sql server 导入电子表格”。有许多选项,其中大多数不涉及循环。例如,五秒钟的搜索出现了support.microsoft.com/kb/321686
标签: sql-server coldfusion coldfusion-10