전체회원 회원정보 엑셀 저장 소스 정보
전체회원 회원정보 엑셀 저장 소스본문
간만에 글 남깁니다 ㅎㅎ
전체회원들에 대한 엑셀 저장 소스입니다.
찾다보니 php4 구버전밖에 없길레 기존 그누보드(영카트) 소스에서 사용하고 있던 PHPExcel 라이브러리를 활용하여 만들었습니다.
새해 복 많이 받으시고,
많은 분들에게 도움이 되었으면 좋겠습니다 :)
* '_common.php'파일 있는 경로(예. /adm/)에 파일하나 만들고 아래 소스 복붙하시면 됩니다.
(관리자모드에서 진입해야 다운로드 가능)
[update]
190115 : 탈퇴인원 제외
혹여나 문제있을시 삭제하겠습니다.
<?php
include_once("./_common.php");
include_once(G5_LIB_PATH.'/PHPExcel.php');
if (!$is_admin =="super")
alert_close("최고 관리자 영역 입니다.");
function column_char($i) { return chr( 65 + $i ); }
$headers = array('번호', 'ID', '이름', '닉네임', '레벨', '포인트', '가입일', 'Email', '홈페이지', '성별', '생일', '전화', '휴대폰', '메일링', '정보공개', '최근로그인', '주소');
$widths = array(18, 15, 15, 15, 15, 15, 15, 50, 20, 20, 20, 20, 20, 20, 20, 20, 100);
$header_bgcolor = 'FFABCDEF';
$last_char = column_char(count($headers) - 1);
$sql = " select * from g5_member where mb_leave_date = '' order by mb_datetime desc ";
$result = sql_query($sql);
for($i=1; $row=sql_fetch_array($result); $i++) {
if ($row['mb_sex'] =="M") { $mb_sex ="남자"; } else if ($row['mb_sex'] =="F"){ $mb_sex ="여자"; }
if ($row['mb_mailling'] =="1") { $mb_mailling ="받음"; } else if ($row['mb_mailling'] =="0"){ $mb_mailling ="안받음"; }
if ($row['mb_open'] =="1") { $mb_open ="공개"; } else if ($row['mb_open'] =="0"){ $mb_open ="비공개"; }
$rows[] =
array(
$i,
$row[mb_id],
$row[mb_name],
$row[mb_nick],
$row[mb_level],
$row[mb_point],
$row[mb_datetime],
$row[mb_email],
$row[mb_homepage],
$mb_sex,
$row[mb_birth],
$row[mb_tel],
$row[mb_hp],
$mb_mailling,
$mb_open,
$row[mb_today_login],
print_address($row['mb_addr1'], $row['mb_addr2'], $row['mb_addr3'], $row['mb_zip1'])
);
}
$data = array_merge(array($headers), $rows);
$excel = new PHPExcel();
$excel->setActiveSheetIndex(0)->getStyle( "A1:${last_char}1" )->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB($header_bgcolor);
$excel->setActiveSheetIndex(0)->getStyle( "A:$last_char" )->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER)->setWrapText(true);
foreach($widths as $i => $w) $excel->setActiveSheetIndex(0)->getColumnDimension( column_char($i) )->setWidth($w);
$excel->getActiveSheet()->fromArray($data,NULL,'A1');
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"members-".date("ymd", time()).".xls\"");
header("Cache-Control: max-age=0");
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
$writer->save('php://output');
?>
9