4

我正在学习 ColdFusion 并且我正在尝试使用电子表格处理电子表格(spreadsheetObject, dataFormat, rangeOfRowsFormated)

如何设置范围以包括除标题行之外的所有行,标题行用于列名?是否有一个函数可以返回 cfspreadsheet 对象上的行数,所以我可以将范围设置为“2-rowCount”?

我尝试过 spreadsheetFormatRows(theSheet, headerFormat, 2-50);并且工作正常并将第 2 行到第 50 行格式化,但我不想硬编码。

先感谢您。

4

2 回答 2

4

电子表格对象有一个属性 rowcount。你可以做spreadsheetFormatRows(theSheet, format, "2-#theSheet.rowCount#");

<cfscript>
    mySheet = spreadSheetNew("My Sheet");
    spreadSheetAddRow(mySheet, "'Col. A','Col. B','Col. C'");
    for(i=1; i <= RandRange(1, 100); i++){
        spreadSheetAddRow(mySheet, "'Row A#i#','Row B#i#','Row C#i#'");
    }
    spreadSheetFormatRow(mySheet, {bold = true, fontsize = 24}, 1);
    spreadSheetFormatRows(mySheet, {fontsize = 16}, "2-#mySheet.rowcount#");
    cfheader(name = "Content-Disposition", value = 'inline; fileName="test.xls"');
    cfcontent(type="application/vnd.ms-excel", variable="#spreadSheetReadBinary(mySheet)#");
</cfscript>

在线试用

于 2017-03-22T13:05:27.017 回答
2

在填充它们并将值保存到变量时跟踪行数。更简单的是,如果它们是查询结果,请使用 cfquery 中的 recordcount 变量。

记得加 1 以便格式化最后一行。

于 2017-03-22T03:00:24.423 回答