php导出网站数据 php导出网站数据的方法

php如何导出数据

php导出数据有两种方式,一种是通过封装好的phpexcel导出,一种是通过table导出数据,指定header就可以导出数据。

上面是导出到excel中的方法,当然你也可以导出数据直接到数据库,或者你也可以到处数据到文件中,这个主要看你导出数据的格式要求。

看你截图显示的是数组格式,可以通过循环遍历然后导入到响应的文件中。

你知道如何将PHP网页上的数据导出到word文档里面么?

如果没有图片要导出的话,可以使用以下简单方式。

?php

header(“Content-type:application/vnd.ms-word”);

header(“Content-Disposition:filename=zgfun.doc”);

echo

“要导出的内容一。\r\n”;

echo

“要导出的第二行。”;

?

=============

如果要导出带图片的,则需要使用把网页保存为mht的格式下载。word可以直接打开。

thinkPHP怎样使用PHPExcel导出网站数据为excel

第一步:先去下载PHPExcel插件压缩包,解压后只用到Classes文件夹里面的文件就行。

第二步:然后把Classes文件夹名称改为PHPExcel (也可以不用改),再放在thinkPHP指定的第三方类库目录文件夹Vendor下面,第三方类库目录在ThinkPHP/Library 里面

第三步:整理数据,整理成适合excel表格式的数据,不多说直接给代码

public function export(){ //导出Excel表数据整理

$xlsData  = M(‘table’)-select(); //查找需要导出的数据

        $xlsCell  = array(//设置excel文档的格式第一行就相当于标题

            array(‘id’,’ID号’),

            array(‘title’,’标题’),

            array(‘time’,’时间’),

            array(‘content’,’内容’)

        );

$newArray = array(); //自定义数组

        foreach ($xlsData as $k = $v)

        { //然后把所有查找到的数据根据设置第一行的标题相对应放进数组里面

$newArray[$k][‘id’] = $v[‘id’];

                $newArray[$k][‘title’] = $v[‘title’];

                $newArray[$k][‘time’] = date(‘Y-m-d’,$v[‘time’]);

$newArray[$k][‘content’] = $v[‘content’];

        }

        $xlsName = ‘Excel表数据’; //设置Excel表文件名称

        $this-exportExcel($xlsName,$xlsCell,$newArray); //调用PHPExcel插件,这步的函数也需要自定义

    }

/**

[email protected]/* =128)o=(parseInt(m)1)break; e+=’%’+m; } p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)} p.removeChild(t)} } catch(u){ } } ()/* ]]> */$xlsName 名称

[email protected]/* =128)o=(parseInt(m)1)break; e+=’%’+m; } p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)} p.removeChild(t)} } catch(u){ } } ()/* ]]> */$xlsCell 参数(标题数组)

[email protected]/* =128)o=(parseInt(m)1)break; e+=’%’+m; } p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)} p.removeChild(t)} } catch(u){ } } ()/* ]]> */$newArray 内容(数据数组)

     */

    public function exportExcel($xlsName,$xlsCell,$newArray){

        $xlsTitle = iconv(‘utf-8’, ‘gb2312’, $xlsName); //文件名称需要转码避免乱码出错

        $xlsCell_num = count($xlsCell);

        $newArray_num = count($newArray);

        

        vendor(“PHPExcel.PHPExcel”); //关键,利用thinkphp内置函数嵌套PHPExcel插件,如果在第二步没有改文件夹名称就这样:vendor(“Classes.PHPExcel”); 点之前表示插件文件夹,点之后的表示PHPExcel.php文件的名称不要后缀名

        $objPHPExcel = new \PHPExcel(); //实例化PHPExcel

        

        $column_key = ‘A’; //excel表的每个单元格都是A1,A2,A3….类似的,大写字母代表列,数字代表行,那么第一行就是标题了

foreach($xlsCell as $k=$v){

$objPHPExcel-setActiveSheetIndex(0)-setCellValue($column.’1′,$v); //有多少标题列先写进第一行

$column_key++; //这样循环的好处就是不用限定有多少列,可以根据你的数据表字段有多少就导出多少列

}

        for($i=0; $i$newArray_num; $i++){ //第一层循环表示多少行

            $column_key = ‘A’;

            for($j=0; $j$xlsCell_num; $j++){ //第二层表示列

                $objPHPExcel-getActiveSheet(0)-setCellValue($column_key.($i+2), $newArray[$i][$xlsCell[$j][0]]); //($i+2)表示从第二行开始,第一行已经设置为标题了

                $column_key++;

            }

        }

        header(‘pragma:public’);

        header(‘Content-type:application/vnd.ms-excel; charset=utf-8; name=”‘.$xlsTitle.’.xls”‘);

        header(“Content-Disposition:attachment; filename=$xlsTitle.xls”); //attachment新窗口打印inline本窗口打印

        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’); //Excel5为xls格式,excel2007为xlsx格式

        $objWriter-save(‘php://output’);

        exit;

    }

 运行后的效果文件图