Con*_*eer 0 sql-server coldfusion coldfusion-10
如何使用 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>
Run Code Online (Sandbox Code Playgroud)
你问的很简单。将电子表格上传到您的服务器,然后使用 cfspreadsheet 阅读它。
<cfspreadsheet
action="read"
src = "filepath"
columns = "range"
columnnames = "comma-delimited list"
excludeHeaderRow = "true | false"
format = "CSV|HTML"
headerrow = "row number"
name = "text"
query = "query name"
rows = "range"
sheet = "number"
sheetname = "text">
Run Code Online (Sandbox Code Playgroud)
然后只需遍历您在 cfspreadsheet 中定义的查询
<cfloop query="queryname">
<cfquery name="" datasource="">
INSERT INTO ....
</cfquery
</cfloop>
Run Code Online (Sandbox Code Playgroud)
PS 这是我在您删除帖子之前的回答,我无法再提交我的回答。
| 归档时间: |
|
| 查看次数: |
2082 次 |
| 最近记录: |