Make a Table, Styling, and Autofilter in PHPSpreadsheet | PHPSpreadsheet Tutorial #3

안녕 모두 내 PHP 튜토리얼 비디오에 오신 것을 환영합니다

이 비디오에서는 자동 필터를 사용하여 테이블을 만드는 방법을 설명하려고합니다 이 비디오와 함께 오랫동안 세포를 병합하는 방법도 배울 것입니다 배열을 사용하여 셀 스타일을 설정합니다 의 시작하자 여기 저는 json에서 학생 데이터 모의를 준비했습니다 ID, 이름, 성, 이메일, 성별 및 수업으로 구성됩니다

이 라이브러리로 작업 할 때 더 쉽게 작업 할 수 있습니다 먼저 템플릿을 만들어서 우리가 만들려는 대상에 대해 능숙하게 만들 것을 권장합니다 우리가 코딩 할 때 상상하는 것보다 낫습니다 왜냐하면 우리에게는 일종의 가이드가 있기 때문입니다 우리 테이블은 이드, 이름, 성, 이메일, 성별 및 수업으로 구성됩니다

이제는 적절한 테이블처럼 보일 것입니다 이제 스크립트에서 해보 죠 시간을 절약하기 위해 이걸 복사 할거야 이 불필요한 코드를 제거하십시오 먼저 기본 글꼴을 변경하십시오

getDefaultStyle ()을 사용하여이를 수행 할 수 있습니다 그리고 나서 getFont () 이름을 Arial로 설정하십시오 또한 크기를 10으로 변경합니다 다음으로 가자 셀 A1에서 setCellValue를 사용하여 제목 텍스트를 추가하십시오

첫 번째 행을 표제로 병합하십시오 mergeCell 메서드에서 셀 범위를 매개 변수로 사용합니다 이 범위의 모든 셀이 병합됩니다 그것을 시도해 봅시다 여기에서 알 수 있듯이 A1 셀이 F1이 병합 될 때까지 A1 셀이 병합되었습니다

다음에 할 일은 정렬을 중심에두고 글꼴 크기를 20까지 늘리는 것입니다 글꼴을 먼저 변경해 보겠습니다 병합 된 셀의 이름이 범위 내의 첫 번째 셀이됩니다 이 경우, A1 그런 다음 글꼴을 가져옵니다

크기를 20으로 설정하십시오 다음으로 우리는 세포 배열을 할 것입니다 맞춤은 셀 스타일의 일부이므로 get 스타일을 호출합니다 그런 다음 getAlignment (), 및 setHorizontal () HORIZONTAL_CENTER에 이전 튜토리얼에서 배운 것과 마찬가지로, 이 상수는 정렬 클래스의 일부입니다 그래서이 스크립트에서 정렬 클래스를 호출해야합니다

자세한 옵션은 설명서를 참조하십시오 완전한 다음에 할 일은 열 너비를 설정하는 것입니다 숫자를 상상하는 것보다 우리 가이드에서 해보 죠 그래서 그것은 5, 20, 20, 30, 12 및 10입니다

우리가 잊지 않도록 여기에 내려 놓으십시오 이제 코드를 해봅시다 너비는 열 차원의 일부입니다 그래서 열 이름을 사용하여 먼저 가져옵니다 A를 5로 설정하십시오

및 B 에 나는 잊었다 오십

및 C에서 20 그리고 D는 30이다 E가 12에서 F가 10 사이입니다 좋은 다음으로 제목 텍스트를 추가합니다

글꼴을 변경하고 굵게 표시하십시오 먼저 헤더 텍스트를 추가해야합니다 이 과정은 반복적이기 때문에 비디오 속도를 높이겠습니다 다음으로 채우기 색을이 색으로 변경합니다 및 흰색으로 글꼴

스크립트에서이 작업을 해봅시다 이제는 스타일을 바꾸기 위해 다른 방법을 시도 할 것입니다 배열을 사용하여 먼저 스크립트 맨 위에서 스타일 배열을 만들어 봅시다 클래스 로딩 직후

이런 대괄호를 사용할 수 있습니다 또는 배열 내장 함수를 사용하십시오 여기에 대괄호를 쓸 것입니다 이제 글꼴 속성을 설정하십시오 색상 설정하기 rgb를 사용합니다

그것을 백색으로 만들어라 그 다음 채우기 속성 채우기 유형 설정 단단한 Fill 클래스의 FILL_SOLID 상수를 사용합니다 rgb를 사용하여 색상을 설정하십시오 미리 색상 코드를 찾아서 여기에 넣을 것입니다 마지막으로이 배열을 사용하여 셀을 스타일링합니다

applyFromArray 메서드를 사용합니다 우 필 클래스를 사용했지만 스크립트에서 호출하는 것을 잊어 버렸습니다 고쳐 주자 이제 우리는 스타일을 위해 배열을 사용했습니다

이 두 코드는 약간 중복되어 있습니다 그래서 우리 배열로 옮겨 가자 머리글이 완성됩니다 다음에는 콘텐츠를 추가 할 것입니다 나는 채우기 색을 짝수 행과 홀수 행 사이에서 번갈아 가며 만들고 싶다

그 때문에 2 개의 스타일 배열이 필요합니다 그것을 만들어 보자 짝수 행에 대해서는 $ evenRow라고 이름을 짓습니다 그냥 여기에 채우기 만하면 돼 그리고 홀수 열에 대해서

그냥 복사하고 색을 바꿀거야 다음으로 내용을 추가하십시오 내 데이터 원본은 json 파일에서 가져온 것입니다 그래서 파일 내용을 가져 와서 json_decode를 사용합니다 물론 이것에 대한 데이터베이스를 사용할 수 있습니다

다음에 데이터를 반복합니다 우리는 현재 행 번호를 유지하기 위해 변수를 만들어야합니다 이 숫자는 매 루프마다 증가합니다 데이터 소스에서 셀 값을 설정하십시오 현재 행의 스타일을 설정합니다

여기서는 모듈러스 연산을 사용하여 짝수와 홀수를 구별합니다 행 번호를 증가시키는 것을 잊지 마십시오 완전한 다음에는 자동 필터를 추가 할 것입니다 엑셀에서 autofilter를 만들기 위해서는 단순히 테이블의 범위를 선택해야합니다

그런 다음 필터를 클릭하십시오 엑셀은 맨 위의 행을 이와 같은 필터링 행으로 인식합니다 스크립트에서 해보 죠 우리는 테이블 범위의 첫 번째 행과 마지막 행을 정의해야합니다 단순히 setAutoFilter 메서드를 사용하여 자동 필터를 추가하십시오

끝났어 이것으로이 튜토리얼의 내용을 마무리 짓는다 시청 해주셔서 감사합니다 이 튜토리얼이 도움이되기를 바랍니다 설명에 소스 코드에 대한 링크를 넣습니다

댓글 섹션에서 무엇이든 물어보십시오 내 비디오를 친절하게 좋아하고 내 채널을 구독하십시오 다음 챕터에서 만나요