[]
        
(Showing Draft Content)

인쇄 영역

SpreadJS는 사용자가 인쇄 영역을 설정할 때 사용자 지정 이름 “Print_Area”를 통해 워크시트에 인쇄 범위를 정의합니다. “Print_Area” 사용자 지정 이름의 주요 이점은 다음과 같습니다:

  • 사용자가 행 또는 열을 삽입하거나 삭제할 때 인쇄 영역이 업데이트됩니다.

  • 수식 함수에서 사용자 지정 이름을 사용할 수 있습니다.

  • 사용자가 "Print_Area"를 수식으로 설정할 경우, 인쇄 영역이 자동으로 업데이트됩니다.

이름 관리자와의 상호작용

SpreadJS 이름 관리자는 설정된 인쇄 영역과 동일한 참조를 갖는 "Print_Area" 사용자 지정 이름을 추가합니다. 해당 이름은 이름 상자 드롭다운을 통해 워크시트에서 선택할 수 있습니다.




사용자는 이름 관리자 대화 상자를 통해 다른 사용자 지정 이름처럼 "Print_Area" 사용자 지정 이름을 수동으로 생성하거나 편집할 수도 있습니다. 이 사용자 지정 이름은 문화권이나 대소문자에 영향을 받지 않습니다.

참고: “Print_Area” 사용자 지정 이름은 시트 범위에 있고 해당 시트의 범위를 참조할 때만 유효합니다. 유효하지 않은 경우 일반 사용자 지정 이름으로 작동합니다. 따라서 사용자는 "Print_Area"를 통합 문서 범위로 추가할 수는 있지만, 인쇄 영역에는 영향을 주지 않습니다.

인쇄 정보와의 상호작용

"Print_Area" 사용자 지정 이름에서 가져온 인쇄 범위는 PrintInfo 클래스의 다음 메서드 값으로 설정됩니다: rowStart, rowEnd, columnStart, columnEnd.

반대로, 이 클래스의 메서드는 SpreadJS 워크시트에서 “Print_Area” 사용자 지정 이름을 설정합니다. 인쇄 범위는 "Print_Area" 사용자 지정 이름 또는 PrintInfo 메서드를 통해 하나만 사용하는 것을 권장합니다.

예제

다음 코드 샘플은 “Print_Area” 사용자 지정 이름이 PrintInfo 메서드에 영향을 주는 방식을 보여줍니다:

// 통합 문서 및 워크시트 구성
var spread = new GC.Spread.Sheets.Workbook("ss");
var sheet = spread.getActiveSheet();

var printInfo = sheet.printInfo();

// Print_Area가 PrintInfo에 영향
sheet.addCustomName("Print_Area", "=A1:B5")
console.log(printInfo.rowStart())   // 출력: 0
console.log(printInfo.rowEnd())     // 출력: 4

sheet.removeCustomName("Print_Area", "")
console.log(printInfo.rowStart())   // 출력: -1
console.log(printInfo.rowEnd())     // 출력: -1

다음 코드 샘플은 PrintInfo 메서드가 “Print_Area” 사용자 지정 이름에 영향을 주는 방식을 보여줍니다:

// PrintInfo가 Print_Area에 영향
printInfo.rowStart(1)
// 시트의 행 수가 20이라고 가정
sheet.getCustomName("Print_Area")
// NameInfo 인스턴스를 반환하며 수식은 "=2:20"
console.log(printInfo.rowStart())   // 출력: 1
console.log(printInfo.rowEnd())     // 출력: -1

printInfo.rowEnd(15)
sheet.getCustomName("Print_Area")
// NameInfo 인스턴스를 반환하며 수식은 "=2:16"
console.log(printInfo.rowEnd())     // 출력: 15

다음 코드 샘플은 “Print_Area” 사용자 지정 이름과 PrintInfo 메서드가 서로 영향을 주는 방식을 보여줍니다:

// Print_Area와 PrintInfo가 상호 영향
sheet.addCustomName("Print_Area", "=A1:B5")
console.log(printInfo.rowStart())   // 출력: 0
console.log(printInfo.rowEnd())     // 출력: 4

printInfo.rowStart(1);
sheet.getCustomName("Print_Area")
// NameInfo 인스턴스를 반환하며 수식은 "=A2:B5"

수식과의 상호작용

SpreadJS는 수식에서 사용자 지정 이름 “Print_Area”를 사용할 수 있는 기능을 제공합니다. 이를 통해 조건문을 적용하여 워크시트에서 동적으로 인쇄 영역을 생성할 수 있습니다.

예를 들어, 수식 =IFERROR(ROWS(Print_Area),"none")을 입력하면 인쇄할 행 수를 표시하고, 존재하지 않을 경우 "none"을 표시합니다.

또한 아래 코드 예제처럼 셀에 값이 입력되었는지 여부에 따라 인쇄 영역을 자동으로 업데이트할 수 있습니다:

// 통합 문서 및 워크시트 구성
var spread = new GC.Spread.Sheets.Workbook("ss");
var sheet = spread.getActiveSheet();

var printInfo = sheet.printInfo();

// 조건문이 포함된 수식
sheet.addCustomName("Print_Area", "=IF(Sheet1!$A$1,Sheet1!$B$1:$C$5,Sheet1!$D$5:$F$8)")
// A1 셀이 참(truthy) 값이라고 가정
console.log(printInfo.rowStart())   // 출력: 0
console.log(printInfo.rowEnd())     // 출력: 4

printInfo.rowStart(1);
sheet.getCustomName("Print_Area")
// NameInfo 인스턴스를 반환하며 수식은 "=B2:C5"