2012-01-04 89 views
0

我試圖使用cfspreadsheet將一堆get函數轉儲到電子表格中 - 我決定創建一個列表並通過它循環,而不是傳遞每個單獨的函數。我認爲我在這裏錯誤地使用了Evaluate(),但我不確定實現此目的的最佳方法是什麼。任何建議/優化將不勝感激,因爲我的Cold-Fu並不是那麼棒。CFScript Evaluate()在循環中拋出錯誤

錯誤拋出是Variable GETFIELDS is undefined.

<cfset var fields = "Function1,Function2" /> 
<cfspreadsheet action="read" src="#strDestinationPath#information.xls" name="xlsInfo" headerrow="1" /> 
<cfset var row = xlsData.rowcount + 1 /> 
<cfset var count = 1 /> 
<cfloop list="fields" index="f" delimiters=","> 
    <cfscript> 
    SpreadsheetSetCellValue(xlsInfo,Evaluate('get' & f & '()'),row,count); 
    count++; 
    </cfscript> 
</cfloop> 
<cfspreadsheet action="write" overwrite="true" filename="#strDestinationPath#information.xls" name="xlsInformation" /> 

回答

2

cfloop期望一個list of items作爲參數。

嘗試從

<cfloop list="fields" index="f" delimiters=","> 

更改爲

<cfloop list="#fields#" index="f" delimiters=","> 

<cfloop list="Function1,Function2" index="f" delimiters=","> 
+0

我無法測試,現在,但我會覺得自己像個白癡,如果我錯過了,哈哈!將盡快報告。 – Nic 2012-01-04 20:05:16

+1

我不知道自己犯了多少次這個錯誤。 =) – Micah 2012-01-04 20:11:40

+0

* facepalm *今天編碼太多。 – Nic 2012-01-04 21:07:47