我正在尝试编写一个脚本来将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>
如果脚本超过rowcount
,如何将空白单元格转换为“N / A”?