2017-03-21 20 views
3

나는 ColdFusion에서 학습의 과정에서, 그리고 난 spreadsheetFormatRows(spreadsheetObject, dataFormat, rangeOfRowsFormated)cfspreadsheet 객체의 행 수는 어떻게 정의합니까?

를 사용하여 스프레드 시트와 함께 작동하도록 노력하고 어떻게 열 이름입니다 헤더 행을 제외한 모든 행을 포함하는 범위를 설정할 수 있습니까? cfspreadsheet 객체의 행 수를 반환하는 함수가 있습니까? 그래서 '2-rowCount'범위를 설정할 수 있습니까?

나는 spreadsheetFormatRows(theSheet, headerFormat, 2-50);을 시도했으나 제대로 작동하고 2 ~ 50 행을 포맷합니다. 그러나 하드 코딩하지 않으려 고합니다.

미리 감사드립니다.

+1

행의 수를 추적 할 수 있습니다. 간단하지만 쿼리 결과 인 경우 cfquery의 recordcount 변수를 사용하십시오. –

+0

예, 쿼리이며 yes recordcount가 완벽하게 작동합니다. 답으로 게시하여 나중에 해당 게시물을 읽는 사용자에게 올바른 것으로 표시 할 수 있습니다. 고맙습니다. – DoArNa

답변

1

값을 채울 때 행 수를 추적하고 값을 변수에 저장하십시오. 간단하지만 쿼리 결과 인 경우 cfquery의 recordcount 변수를 사용하십시오.

1을 추가하여 마지막 행의 형식을 지정해야합니다.

3

스프레드 시트 개체에는 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> 

Try Online

+0

마지막 행의 서식을 지정하기 위해 1을 더하지 않아도됩니까? –

+0

@DanBracuk 스프레드 시트에서 머리글 행은 다른 행과 같습니다. 25 개의 항목과 1 개의 헤더 행 데이터 세트가있는 경우 스프레드 시트에 26 개의 행이 있으므로 2-26이됩니다. 1 + 헤더 행 수와 동일한 형식화 된 범위의 시작에 대해 하드 코딩 된 오프셋이 있습니다. – Twillen

+0

답변을 편집하면 사실 개선 될 것입니다. –