2016-12-06 25 views
1

나는 내가 읽으려고하는 파일을 엑셀 파일에 저장하고 드롭 다운에 헤더의 값을 표시한다. 내 Excel 파일의 첫 번째 행에는 모든 값 (헤더 이름)이 있습니다.cfspreadsheet 헤더를 통해 루프하는 방법은 무엇입니까?

아래 코드를 사용했지만 모든 헤더 이름이 쉼표로 한 줄에 표시됩니다. 나는 머리말이 분리되어, <option> 대신에 <option>이 많은 드롭 다운에 나타납니다. 어떻게해야합니까?

<!-- Read the header values from excel --> 
    <cfset spreadsheet = "uploads/spreadsheet.xlsx"> 

    <cfspreadsheet action="read" headerrow="1" src="uploads/spreadsheet.xlsx" query="excelHeader" rows="1" /> 

    <cfset excelHeaders = excelHeader.columnList> 

    <!-- Display the header names as a dropdown --> 
    <select name="id_headers"> 
     <option> 
      #excelHeaders# 
     </option> 
    </select> 
+0

이 코드를 실행할 수 있지만 excelHeader.columnList가 목록으로 돌아 오는 경우 목록으로 처리 할 수 ​​- 루프를 통해 선택 상자를 수행 할 때 목록으로 표시합니다 – luke

+0

' # excelHeader.columnList #'목록을 사용하여 루프를 만들려고했지만 여전히 원하는대로 작동하지 않습니다. – gosi123

+0

내가 말했듯이, 나는 Excel과 colfusion에 대해 많이 알지 못한다.하지만 목록을 반복하려면 과 같은 것을 원한다. # headerItem # luke

답변

4

이 코드를 사용해보십시오.

<!--- create new spreadsheet and populate with sample data ---> 
<cfset theSheet = SpreadsheetNew("Expenses")> 
<cfset SpreadsheetSetCellValue(theSheet,"column1",1,1)> 
<cfset SpreadsheetSetCellValue(theSheet,"column2",1,2)> 
<cfset SpreadsheetSetCellValue(theSheet,"column3",1,3)> 
<cfset SpreadsheetSetCellValue(theSheet,"column4",1,4)> 

<!--- Write the spreadsheet to a file, replacing any existing file. ---> 
<cfset pathToFile = GetDirectoryFromPath(GetCurrentTemplatePath()) & "newSpreadsheet.xls"> 
<cfspreadsheet action="write" filename="#pathToFile#" name="theSheet" overwrite=true> 

<!--- Read spreadsheet into query object ---> 
<cfspreadsheet action="read" headerrow="1" src="#pathToFile#" query="excelHeader" rows="1"> 

<!--- Display the header names as a dropdown ---> 
<cfoutput> 
<select name="id_headers"> 
<cfloop list="#excelHeader.columnList#" index="option"> 
    <option>#option#</option> 
</cfloop> 
</select> 
</cfoutput> 

당신은 내가 스프레드 시트 및 ColdFusion과 함께 많은 일을하지했습니다 trycf

+0

@Leigh 안녕하세요. 이제는 더 전문적으로 보입니다. 감사. – Justin