我正在尝试编写一个脚本来将 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
?