PHP 그누보드 전체 회원 정보를 엑셀로 저장하는 PHP 소스
페이지 정보
조회 231회
작성일 20-04-29 09:39
그누보드에서 전체 회원 정보를 엑셀 파일로 저장하는 PHP 소스다. _common.php 파일이 있는 경로(예: /adm/)에 파일을 만들고 소스를 붙여넣으면 되며, 관리자 모드로 접속해야 다운로드가 가능하다. 2019년 1월 15일 업데이트로 탈퇴한 회원은 목록에서 제외되도록 수정되었다.
- '_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');
?> - 이전글그누보드 업로드 이미지에 워터마크 일괄 적용하기 20.04.29