1

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

4

0 回答 0