테스트 사이트 - 개발 중인 베타 버전입니다

전체회원 회원정보 엑셀 저장 소스

간만에 글 남깁니다 ㅎㅎ

전체회원들에 대한 엑셀 저장 소스입니다.

찾다보니 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');
?>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 18개

좋은소스 공개해 주셔서 감사합니다.
정말 좋은 팁 감사합니다
넘 편하고 좋아요 감사합니다^^
오옷! 대단합니다
감사합니다!!!!^^
감사합니다 !! 덕분에 다른거 활용해서 엑셀다운받게 몇개만 수정해서 잘쓰겠습니다!
회원정보 다운로드 내용 감사합닏
회원정보 엑셀로 저장 감사합니다

게시글 목록

번호 제목
23966
23963
23953
23949
23938
23935
23933
23928
23919
23918
23917
23910
23902
23901
23897
23894
23893
23891
23885
23872
23870
23862
23859
23853
23845
23838
23827
23819
23805
23801