액세스하는 방법을 쿼리 열 여러 개의 단어가?
-
12-12-2019 - |
문제
내가 사용하여 cfspreadsheet 읽을 읽기 시트 쿼리를 개체입니다.
<cfspreadsheet action="read" src="TestExcel.xls" sheet="1" query="spreadsheetData" headerrow="1" excludeHeaderRow="true">
문제의 일부 헤더를 포함 하나 이상의 단어입니다.그래서 내가 끝까지 가진 쿼리는 다음과 같이 비트:
ID Name Start Date End Date
3 Test 1/1/2009 1/1/2013
17 Test 2 11/11/2010 11/11/2012
면에 액세스하려고 하는 열의가 있는 공간에서 열 이름을 내가 오류가 발생합니다.
<cfoutput query="spreadsheetData">
#start date#
</cfoutput>
해봤 #[start date]#
뿐만 아니지만,작동 하지 않았다.내가 통제할 수 없는 형식의 엑셀시트는 내가 나타납니다.어떤 방법에 액세스하는 여러 말로 헤더 란?
해결책
을 사용할 때 브라켓 표기 내용해야 끝까지 문자열로,그래서:
<cfoutput query="spreadsheetData">
#spreadsheetData['start date'][CurrentRow]#
</cfoutput>
를 사용하지 않는 경우 따옴표를 전달하는 변수에는 다음과 같이
<cfset ColumnName = 'start date' />
<cfoutput query="spreadsheetData">
#spreadsheetData[ColumnName][CurrentRow]#
</cfoutput>
참고 사용해야 하는 쿼리 전에 이름을 부류-만약 당신은 단순히 작성 [ColumnName]
이는 인라인 배열 창조 표기법에 액세스하지 않은 변수가 있습니다.
또한 사용하는 경우에는 이 외부의 쿼리가 루프(i.e 지 내 cfoutput
/cfloop
쿼리 특성),당신은 또한 필요가 범위 CurrentRow
변수,즉
spreadsheetData[ColumnName][spreadsheetData.CurrentRow]
(거나 자신의 명시적인 수가/변).
으로 레이 노트에 대해서는 아래의 cfspreadsheet-특정한 행동을 지정할 수도 있습니다 columnnames
특성,열 이름을 바꾸려 무언가를 직접 접근,예를 들어,
<cfspreadsheet query=".." columnNames="Foo,Bar,StartDate,Etcetera" ..>
제휴하지 않습니다 StackOverflow