공용주소록에 있는 명함은 개인주소록 이동이 불가
중복체크를 통해 중복되는 명함은 이동이나 복사에서 제외된다.
- 양식 다운로드 페이지.php
<?php
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
require_once "../../lib/include.php";
require_once "../vendor/autoload.php";
// Create new Spreadsheet object
$spreadsheet = new Spreadsheet();
// Add header data
$sheet = $spreadsheet->getActiveSheet();
//폰트사이즈
$spreadsheet->getDefaultStyle()->getFont()->setSize(10);
// 헤더 폰트 굵게
$spreadsheet->getActiveSheet()->getStyle('A1:O1')->getFont()->setBold(true);
//헤더
//그룹명 이름 회사 부서 직책(급) 휴대폰 근무지 팩스 근무처 전화 전자 메일 주소 기타1 기타2 비고 우편번호 주소 상세주소
$sheet->setCellValue('A1', "그룹명");
$sheet->setCellValue('B1', "이름");
$sheet->setCellValue('C1', "회사");
$sheet->setCellValue('D1', "부서");
$sheet->setCellValue('E1', "직책(급)");
$sheet->setCellValue('F1', "휴대폰");
$sheet->setCellValue('G1', "근무지 팩스");
$sheet->setCellValue('H1', "근무처 전화");
$sheet->setCellValue('I1', "전자 메일 주소");
$sheet->setCellValue('J1', "기타1");
$sheet->setCellValue('K1', "기타2");
$sheet->setCellValue('L1', "비고");
$sheet->setCellValue('M1', "우편번호");
$sheet->setCellValue('N1', "주소");
$sheet->setCellValue('O1', "상세주소");
// 헤더 배경색 지정
$sheet->getStyle('A1:O1')->getFill()->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)->getStartColor()->setARGB('DCDCDC');
// 표 그리기
$rowCnt--;
$sheet->getStyle('A1:O1')->getBorders()->getAllBorders()->setBorderStyle(\PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN);
// 헤더 칼럼 가운데 정렬
$sheet->getStyle('A1:O1')->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
// 칼럼 사이즈 자동 조정
$sheet->getColumnDimension('A')->setWidth(15);
$sheet->getColumnDimension('B')->setWidth(15);
$sheet->getColumnDimension('C')->setWidth(15);
$sheet->getColumnDimension('D')->setWidth(15);
$sheet->getColumnDimension('E')->setWidth(15);
$sheet->getColumnDimension('F')->setWidth(15);
$sheet->getColumnDimension('G')->setWidth(15);
$sheet->getColumnDimension('H')->setWidth(15);
$sheet->getColumnDimension('I')->setWidth(15);
$sheet->getColumnDimension('J')->setWidth(15);
$sheet->getColumnDimension('K')->setWidth(15);
$sheet->getColumnDimension('L')->setWidth(15);
$sheet->getColumnDimension('M')->setWidth(15);
$sheet->getColumnDimension('N')->setWidth(15);
$sheet->getColumnDimension('O')->setWidth(15);
$title = "MAIL_ADDRESS";
// Rename worksheet
$sheet->setTitle($title);
// Redirect output to a client’s web browser (Excel2007)
@header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
//IE EDGE
if (isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'Edge') !== FALSE)) {
$title = rawurlencode($title);
@header('Content-Disposition: attachment;filename="' . $title . '.xlsx"');
@header('Cache-Control: private, no-transform, no-store, must-revalidate');
@header('Pragma: no-cache');
}
//IE
else if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE || strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== FALSE) {
$title = iconv("UTF-8","EUC-KR", $title);
@header('Content-Disposition: attachment;filename=' . $title . '.xlsx');
@header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
@header('Pragma: public'); // HTTP/1.0
}
else {
@header('Content-Disposition: attachment;filename="' . $title . '.xlsx"');
@header('Cache-Control: private, no-transform, no-store, must-revalidate');
@header('Pragma: no-cache');
}
@header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
@header('Cache-Control: max-age=1');
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');
exit;
?>
조건을 충족하지 않은 데이터들을 필터링한다.
해당화면에 보여지는 데이터 엑셀 다운받기
'웹 싱니 > 그룹웨어 (22.02 ~ 22.07 )' 카테고리의 다른 글
문서이동 페이지 (0) | 2022.05.26 |
---|---|
최근게시물 페이지 (0) | 2022.05.26 |
명함그룹관리 페이지 (0) | 2022.05.18 |
비상연락망 페이지 (0) | 2022.05.17 |
개인정보 수정 페이지 (0) | 2022.05.17 |