您的位置:首页 > 编程语言 > PHP开发

用phpexcel导出mysql数据库表到exc…

2016-01-17 16:55 477 查看
header("Content-Type: text/html;charset=utf-8");
date_default_timezone_set('Asia/Shanghai');
$my_host = "127.0.0.1"; //主机
$my_user = "xxxxxx";
//用户名
$my_pass = "xxxxxx";
//密码
$my_data = "xxxxxx"; //MySQL库名

// Connect to MySQL
$mysqli = new mysqli($my_host, $my_user,
$my_pass,$my_data);
if ($mysqli->connect_errno) {
printf("Connect failed:
%s\n", $mysqli->connect_error);
exit();
}

//设置连接的字符集,也可以用$mysqli->query("SET NAMES UTF8");来设置
//$mysqli->query("SET NAMES UTF8");
$mysqli->set_charset("utf8");

require_once dirname(__FILE__) .
'/../Classes/PHPExcel.php';
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '

');

// Create new PHPExcel object
echo date('H:i:s') , " Create new PHPExcel object" ,
EOL;
$objPHPExcel = new PHPExcel();

// Set document properties
echo date('H:i:s') , " Set document properties" , EOL;

$objPHPExcel->getProperties()->setCreator("wangxuwei")
->setLastModifiedBy("wangxuwei")
->setTitle("PHPExcel Test document")
->setSubject("PHPExcel Test document")
->setDescription("Test document for PHPExcel, generated
using PHP classes.")
->setKeywords("office PHPExcel php")
->setCategory("Test result file");

// Add some data
echo date('H:i:s') , " Add title" , EOL;
$objPHPExcel->setActiveSheetIndex(0)

->setCellValue('A1', '学号')

->setCellValue('B1', '姓名')

->setCellValue('C1', '生日')

->setCellValue('D1', '性别')

->setCellValue('E1', '研究方向');
//执行一个简单查询,结果输出到excel文件
echo date('H:i:s') , " Add data from MySQL server " ,
EOL;
$result=$mysqli->query('select SNO,SNAME,BDATE,SEX,DIR from
STUDENT');
$i=1;
while($row=$result->fetch_array(MYSQLI_BOTH))

{
$i++;

$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i,$row['SNO'])
->setCellValue('B'.$i,$row['SNAME'])
->setCellValue('C'.$i,$row['BDATE'])
->setCellValue('D'.$i,$row['SEX'])
->setCellValue('E'.$i,$row['DIR']);
}

// Rename worksheet
echo date('H:i:s') , " Rename worksheet" , EOL;
$objPHPExcel->getActiveSheet()->setTitle('学生信息表');

// Set active sheet index to the first sheet, so Excel opens
this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);

// Save Excel 2007 file
echo date('H:i:s') , " Write to Excel2007 format" , EOL;
$callStartTime = microtime(true);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,
'Excel2007');
$objWriter->save(str_replace('.php', '.xlsx',
__FILE__));
$callEndTime = microtime(true);
$callTime = $callEndTime - $callStartTime;

echo date('H:i:s') , " File written to " , str_replace('.php',
'.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;
echo 'Call time to write Workbook was ' ,
sprintf('%.4f',$callTime) , " seconds" , EOL;

// Save Excel 95 file
echo date('H:i:s') , " Write to Excel5 format" , EOL;
$callStartTime = microtime(true);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,
'Excel5');
$objWriter->save(str_replace('.php', '.xls',
__FILE__));
$callEndTime = microtime(true);
$callTime = $callEndTime - $callStartTime;

echo date('H:i:s') , " File written to " , str_replace('.php',
'.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;
echo 'Call time to write Workbook was ' ,
sprintf('%.4f',$callTime) , " seconds" , EOL;

// Echo done
echo date('H:i:s') , " Done writing files" , EOL;
echo 'Files have been created in ' , getcwd() , EOL;
// Clean up
$result->close();
$mysqli->close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: