최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

워크 시트는 스프레드 시트의 워크 시트를 표현하기 위해 필요한 모든 데이터인


셀, 수식, 이미지, 그래프 등을 보유한다.


스프레드시트 파일에서 문서를 로드할때(특정 시트를 로드한다고 명시 하지 않는 한)


모든 기존 워크 시트와 함께 로드된다.


스프레드시프가 아닌 CSV나 HTML 혹은 SYLK같은 경우 워크 시트를 식별하지 않기 때문에 


WorkSheet1 이라는 하나의 워크 시트에서 데이터를 포함하는 문서가 생성된다.



새 문서를 인스턴스화 할때 PHPExcel은 "WorkSheet1"이라는 하나의 워크 시트로 만든다.


getSheetCount() 메서드를 사용하면 문서에 있는 워크 시트의 갯수를 반환한다.


getSheetNames() 메서드는 MS엑셀(또는 다른 적절한 스프레드시트 프로그램)에서 표시되는 탭의 순서에 의해 색인이 되어


문서의 모든 워크 시트 목록을 반환한다.


개별 워크 시트 이름이나 문서의 인덱스 위치로도 엑세스는 가능하다.


인덱스 위치는 getSheet()메서드를 사용하여 MS엑셀(또는 다른 적절한 스프레드시트 프로그램)에서 표시되는 탭의 순서에 


의해 인덱스로 엑세스 합니다.


// Get the second sheet in the workbook

// Note that sheets are indexed from 0

$objPHPExcel->getSheet(1);


인덱스를 지정하지 않는 경우 첫 번째 워크 시트가 반환됩니다.


문서의 워크 시트를 다시 정렬 할 수도 있다.


시트의 이름으로 엑세스 하려면 getSheetByName() 메서드를 사용하여 워크 시트의 이름을 지정해주면 된다.


// Retrieve the worksheet called 'Worksheet 1'

$objPHPExcel->getSheetByName('Worksheet 1');


또한 한개의 워크 시트는 항상 현재 활성화 된 워크 시트 이므로 직접 엑세스 할 수 있다.


현재 워크시트는 MS엑셀에서 열릴때 활성화 될 것이다.


// Retrieve the current active worksheet

$objPHPExcel->getActiveSheet();


setAciveSheetIndex()와 setActiveSheetIndexByName() 메서드를 사용하여 인덱스 또는 이름으로 현재 활성 시트를 변경할 수 있다.


워크시트 추가하기


PHPExcel의 createSheet() 메서드를 사용하여 문서에 새 워크 시트를 추가 할 수 있다.


기본적으로 "last" 라는 새 시트로 만들어 진다.


또한 인수로 인덱스를 지정할 수 있다.



$objPHPExcel->createSheet();



제목이 고유하다는 것을 보장 할 최소한의 숫자 입니다.이 방법을 사용하여 만든 새 워크시트에는 워크시트 ""가 호출된다.


다른 방법으로 ( 당신이 선택한 임의 의 제목을 설정하는 ) 새 워크 시트를 인스턴스화 하고 삽입할 수 있는


addSheet() 메서드가 있습니다.


// Create a new worksheet called "My Data"

$myWorkSheet = new PHPExcel_Worksheet($objPHPExcel, 'My Data');


// Attach the "My Data" worksheet as the first worksheet in the PHPExcel object

$objPHPExcel->addSheet($myWorkSheet, 0);


두 번째 인수로 인덱스 를 지정 하지 않으면 새 워크 시트는 기존 의 마지막 워크 시트 뒤에 추가 됩니다.



워크시트 복사


같은문서에 워크시트를 복제를 삽입 하기 위해 addSheet() 메서드를 사용하여 복사 할 수 있습니다.


$objClonedWorksheet = clone $objPHPExcel->getSheetByName('Worksheet 1');

$objClonedWorksheet->setTitle('Copy of Worksheet 1')

$objPHPExcel->addSheet($objClonedWorksheet);


PHPExcel도 2개의 통합 문서 사이의 스타일링을 복제할 필요가 있기 때문에 


이것은 더 복잡하지만, 당신은 또한 다른 통합 문서에서 워크 시트를 복사 할 수 있습니다.


addExternalSheet() 메서드는이 목적을 위해 설치되어있다.


$objClonedWorksheet = clone $objPHPExcel1->getSheetByName('Worksheet 1');

$objPHPExcel->addExternalSheet($objClonedWorksheet);


두 경우 모두 워크 시트 이름이 중복되지 않도록하는 것은 개발자의 책임입니다.


당신이 이름이 중복된 워크 시트를 복사하려고하면 PHPExcel는 예외가 발생합니다.


워크시트 제거


당신은 removeSheetByIndex( 메서드를 사용하여 해당 인덱스로 식별되는 통합 문서워크 시트 를 제거 할 수 있습니다


$sheetIndex = $objPHPExcel->getIndex(

    $objPHPExcel->getSheetByName('Worksheet 1')

);

$objPHPExcel->removeSheetByIndex($sheetIndex);


현재 활성 워크 시트가 제거 되면 이전 인덱스시트가 현재 활성시트 입니다.

댓글