2012-01-04 2 views
0

Я пытаюсь сбросить кучу get функций в электронную таблицу, используя cfspreadsheet - вместо передачи каждой отдельной функции я решил создать список и пропустить его. Я думаю, что я неправильно использую 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 в качестве аргумента.

Try меняется от

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

в

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

или

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

я не могу проверить это прямо сейчас, но я буду чувствовать себя идиотом, если Я пропустил это, ха-ха! Скоро отчитается. – Nic

+1

Я не знаю, сколько раз я сам совершил эту ошибку. =) – Micah

+0

* лицоpalm * слишком много кодировка сегодня. – Nic

Смежные вопросы