Excel シートをデータベースにアップロードするスクリプトを作成しようとしていますが、小さな問題で立ち往生しています。別の Excel シートをアップロードするために変更する必要がないように、スクリプトは動的である必要があります。シートは以前と同じ規則に従う必要があります。
したがって、次のようにします。
<cfloop from="2" to="#sheet.rowcount#" index="row">
行の最後までループしますよね?
プロットのひねり: 空白のセルを「N/A」に変換する必要があります
簡単です:
<cfif SpreadsheetGetCellValue(sheet,row,col) EQ "">
<cfset SpreadsheetSetCellValue(sheet,"N/A",row,col) />
</cfif>
問題:これにより、ダミー出力に数十行が表示されます(最後に、行に何も含まれなくなった後)
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
非常に繰り返されます。シートの長さは 56 行ですが、これは 100 行を超える必要があります。空白セルを「N/A」に変更することが原因ではないかと心配していますが、修正方法がわかりません。ここに完全なファイルがあります。残念ながら、Excel シートを表示することはできません。ただし、56 行 17 列です。
<cfspreadsheet action="read" src="derp.xlsx" name="sheet"> <!--- edit src --->
<!--- 17 columns wide 56 rows --->
<cfoutput>
<cfloop from="2" to="#sheet.rowcount#" index="row">
<cfloop from="1" to="17" index="col"> <!--- multi row selection (edit based on excel sheet) --->
<cfif SpreadsheetGetCellValue(sheet,row,col) EQ "">
<cfset SpreadsheetSetCellValue(sheet,"N/A",row,col) />
</cfif>
<cfoutput>#SpreadSheetGetCellValue(sheet,row,col)#</cfoutput><br />
</cfloop>
<br />
</cfloop>
</cfoutput>
スクリプトを超えずに空白セルを「N/A」に変換するにはどうすればよいrowcount
ですか?