2016-12-06 9 views
1

私は、読み込みしようとしているExcelファイルを持っていて、ドロップダウンにヘッダーの値を表示しています。私のExcelファイルの最初の行にすべての値(ヘッダー名)があります。cfspreadsheetヘッダーをループする方法は?

以下のコードを使用しましたが、すべてのヘッダー名がコンマで1行に表示されます。私はヘッダーを分割して、<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

で、このコードスニペットを実行することができます - ループスルーあなたが選択したボックスをリストするときにリストします – luke

+0

リストを使ってループしようとしましたが、 '#excelHeader.columnList#'と私の望むように動作しません。 – gosi123

+0

私が言ったように、私はよく分かりませんが、リストをループするには、が好きです。#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で多くを行っていませんでしたが、excelHeader.columnListがリストとして戻って来ている場合trycf

+0

@Leighねえ、いいね。今より多くの専門家のように見えます。ありがとう。 – Justin

関連する問題