PHP根据查询Mysql内容导出表格

1.将Classes.zip文件上传到可以引用的地址。
2.新建php文件,写入下面代码。

<?php 
error_reporting(E_ALL); 
/** PHPExcel */ 
//引入PHPExcel类
require_once 'Classes/PHPExcel.php';
// 创建新的PHPExcel对象
$objPHPExcel = new PHPExcel();
// 设置文件基本参数
$objPHPExcel->getProperties()->setCreator("cqguser_green Hjj")
                             ->setLastModifiedBy("Hjj")
                             ->setTitle("Office 2007 XLSX Test Document")
                             ->setSubject("Office 2007 XLSX Test Document")
                             ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
                             ->setKeywords("office 2007 openxml php") 
                             ->setCategory("Test result file"); 
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//设置列宽
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
// 添加表格的第一行记录,设置为列标题 
$objPHPExcel->setActiveSheetIndex(0) 
            ->setCellValue('A1', '列1') 
            ->setCellValue('B1', '列2') 
            ->setCellValue('C1', '列3') 
            ->setCellValue('D1', '列4') 
//数据库连接 
$mysql_conf = array(
    'host'    => '你的mysql地址',
    'db'      => '你的数据库名',
    'db_user' => '数据库用户名',
    'db_pwd'  => '数据库密码',
    );
$mysqli = @new mysqli($mysql_conf['host'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);
if ($mysqli->connect_errno) {
    die("could not connect to the database:\n" . $mysqli->connect_error);//诊断连接错误
}
$mysqli->query("set names 'utf-8';");//编码转化
$select_db = $mysqli->select_db($mysql_conf['db']);
if (!$select_db) {
    die("could not connect to the db:\n" .  $mysqli->error);
}
//sql语句,可以通过GET值组成不同的查询语句。
$sql = "
select * from users;
;";
//根据结果导出表格
$resultgroups = $mysqli->query($sql);
    $numrows=mysqli_num_rows($resultgroups); 
    if ($numrows>0) 
    { 
        $count=2; 
        while($data=mysqli_fetch_array($resultgroups)) 
        { 
            $count+=1; 
            $l1="A"."$count";
            $l2="B"."$count";
            $l3="C"."$count";
            $l4="D"."$count";
            $objPHPExcel->setActiveSheetIndex(0)             
                ->setCellValue($l1, $data['字段1名'])
                ->setCellValue($l2, $data['字段2名'])
                ->setCellValue($l3, $data['字段3名'])
                ->setCellValue($l4, $data['字段4名'])
        } 
    }         

// 表格标题
$objPHPExcel->getActiveSheet()->setTitle('Test');
// 定义此表格是文件中显示的第一个表格
$objPHPExcel->setActiveSheetIndex(0);

//添加下面两句清除缓存并防止错误信息输入在表格中
ob_end_clean();
ob_start();
// 定义输出格式头 
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Test"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
$resultgroups->free();
$mysqli->close();
exit;
?>

3.添加引导到此php文件的链接,可以自定义传值,然后根据传值组成sql语句。
注意:表格php文件不能有输出内容,否则会报错。

文件1地址点击下载
客服qq:925189690

admin

秋风荡的个人博客

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐

隐藏
变装