|
工具:使用pear的Spreadsheet_Excel_Writer组件 dos>cd php的安装目录 dos> pear install Spreadsheet_Excel_Writer-0.9.2 安装完后,就可以使用Spreadsheet_Excel_Writer组件 通过phpinfo(),检查pear包的这个路径是否在php.ini的include_path中。 - <?php
- ini_set('memory_limit', '512M');
- ini_set('max_execution_time', 600);
- require_once('global.php');
- require_once('Spreadsheet/Excel/Writer.php');
- define('USER_NUM_PER_SHEET', 1000);
- $total = $db->get_value('SELECT COUNT(*) FROM pw_members');
- $totalPage = ceil($total/USER_NUM_PER_SHEET);
- //测试用,只下载5000个用户
- //$totalPage = 5;
- $workbook = new Spreadsheet_Excel_Writer();
- $workbook->send('会员信息表.xls');
- $maxUid = 0;
- for($page=1; $page <= $totalPage; $page++){
- $start = ($page-1)*USER_NUM_PER_SHEET+1;
- $sheetName = $start."-".$page*USER_NUM_PER_SHEET;
- $worksheet =& $workbook->addWorksheet($sheetName);
- //设置标题栏的样式
- $header = & $workbook->addformat(array('Size'=>14, 'FgColor'=>'yellow', 'Bold'=>1, 'Align'=>'center'));
- //设置正文的样式
- $body = & $workbook->addformat(array('Size'=>12, 'Align'=>'center'));
- //设置每列的宽度
- $worksheet->setColumn(0, 0, 20);
- $worksheet->setColumn(1, 1, 10);
- $worksheet->setColumn(2, 2, 40);
- $worksheet->setColumn(3, 5, 25);
-
- $worksheet->write(0, 0, '用户名', $header);
- $worksheet->write(0, 1, '性别', $header);
- $worksheet->write(0, 2, 'Email', $header);
- $worksheet->write(0, 3, '注册时间', $header);
- $worksheet->write(0, 4, '最后登录', $header);
- $worksheet->write(0, 5, '最后登录IP', $header);
-
- $query = $db->query("SELECT uid,username, gender, email, regdate, lastvisit, onlineip FROM pw_members LEFT JOIN pw_memberdata USING(`uid`) WHERE `uid` > {$maxUid} ORDER BY uid LIMIT ".USER_NUM_PER_SHEET);
- $offset = 1;
- while($row = $db->fetch_array($query)){
- $regTime = get_date($row['regdate'], 'Y-m-d H:i:s');
- $lastVisitTime = get_date($row['lastvisit'], 'Y-m-d H:i:s');
- $olparts = explode('|', $row['onlineip']);
- $lastVisitIp = $olparts[0];
- $sex = '保密';
- switch(intval($row['gender'])){
- case 1:
- $sex = '男';
- break;
- case 2:
- $sex = '女';
- break;
- case 0:
- default:
- break;
- }
-
- $worksheet->write($offset, 0, $row['username'], $body);
- $worksheet->write($offset, 1, $sex, $body);
- $worksheet->write($offset, 2, $row['email'], $body);
- $worksheet->write($offset, 3, $regTime, $body);
- $worksheet->write($offset, 4, $lastVisitTime, $body);
- $worksheet->write($offset, 5, $lastVisitIp, $body);
- $maxUid = $row['uid'];
- $offset ++;
- }
- }
- $workbook->close();
export.rar (2 K) 下载次数:81
|