박긍정

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

· 2019-01-15 (화) 17:52:27 · 11168 · 18

간만에 글 남깁니다 ㅎㅎ

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

찾다보니 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개

ㄷㄷㄷ
2019-01-16 (수) 03:33:53
좋은소스 공개해 주셔서 감사합니다.
감사합니다
감사합니다^^
감사합니다
2019-04-30 (화) 17:08:40
감사합니다
정말 좋은 팁 감사합니다
사랑합니다.
2019-11-23 (토) 09:13:08
넘 편하고 좋아요 감사합니다^^
감사합니다 ^^
감사합니다.
2021-07-14 (수) 11:44:59
오옷! 대단합니다
감사합니다!!!!^^
2022-01-28 (금) 15:20:43
엑셀출력
감사합니다 !! 덕분에 다른거 활용해서 엑셀다운받게 몇개만 수정해서 잘쓰겠습니다!
회원정보 다운로드 내용 감사합닏
회원정보 엑셀로 저장 감사합니다
회원정보엑셀
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
19-02-07 조회 8,190
19-02-06 조회 7,720
19-02-02 조회 6,035
19-02-01 조회 5,798
19-01-31 조회 5,255
19-01-28 조회 9,871
19-01-28 조회 6,290
19-01-27 조회 6,966
19-01-24 조회 6,457
19-01-22 조회 8,012
19-01-22 조회 7,216
19-01-21 조회 6,062
19-01-20 조회 7,534
19-01-18 조회 5,872
19-01-15 조회 1.1만
19-01-15 조회 1.4만
19-01-14 조회 9,499
19-01-14 조회 6,095
19-01-13 조회 7,357
19-01-10 조회 8,782
19-01-10 조회 7,137
19-01-08 조회 6,369
19-01-06 조회 6,840
19-01-06 조회 1만
18-12-31 조회 9,519
18-12-31 조회 7,688
18-12-28 조회 6,782
18-12-28 조회 9,825
18-12-26 조회 8,371
18-12-26 조회 5,567