PHP海量数据导入导出 phpstudy导出数据库

PHP 用PHPExcel往数据库导入大量数据

1、首先我们准备一个含有数据的Excel表格,表头和数据表中的表字段相对应。

创新互联建站成都网站建设按需定制网站,是成都网站营销公司,为砂岩浮雕提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站改版热线:028-86922220

2、在ThinkPHP中引入PHPExcel类库。

3、然后我们编写导入的PHP代码。

4、然后我们编写导出的PHP代码。

5、然后我们进行导出测试发现可以导出即可。

php怎么导出大量数据的Excel

用这个吧:PHPExcel

步骤:

1.百度:phpexcel,结果如图所示,点击第一个结果;

2.进入官网后,找到右边的download按钮,下载,下载完成的是一个压缩文件,解压放到你的项目目录里,根据个人情况而定;

3.因为这里给大家做演示,所以建了一个测试文件,有点基础的都能明白是怎么回事,下面进入代码;

4.

//引入PHPExcel库文件(路径根据自己情况)

include './phpexcel/Classes/PHPExcel.php';

//创建对象

$excel = new PHPExcel();

//Excel表格式,这里简略写了8列

$letter = array('A','B','C','D','E','F','F','G');

//表头数组

$tableheader = array('学号','姓名','性别','年龄','班级');

//填充表头信息

for($i = 0;$i count($tableheader);$i++) {

$excel-getActiveSheet()-setCellValue("$letter[$i]1","$tableheader[$i]");

}

5.

//表格数组

$data = array(

array('1','小王','男','20','100'),

array('2','小李','男','20','101'),

array('3','小张','女','20','102'),

array('4','小赵','女','20','103')

);

//填充表格信息

for ($i = 2;$i = count($data) + 1;$i++) {

$j = 0;

foreach ($data[$i - 2] as $key=$value) {

$excel-getActiveSheet()-setCellValue("$letter[$j]$i","$value");

$j++;

}

}

6.

//创建Excel输入对象

$write = new PHPExcel_Writer_Excel5($excel);

header("Pragma: public");

header("Expires: 0");

header("Cache-Control:must-revalidate, post-check=0, pre-check=0");

header("Content-Type:application/force-download");

header("Content-Type:application/vnd.ms-execl");

header("Content-Type:application/octet-stream");

header("Content-Type:application/download");;

header('Content-Disposition:attachment;filename="testdata.xls"');

header("Content-Transfer-Encoding:binary");

$write-save('php://output');

7.打开页面,刷新的时候会弹出对话框,让你选择文件保存路径和文件名称,我直接放在了桌面上,如图所示;

8.打开表格后,数据和格式跟代码中的一致,说明PHP导出的Excel是正确的。如果出现错误,检查一下你的表格数组和数据数组吧。

详细内容请参考:

php中如何导入导出CSV格式的文件

php导入CSV文件:

$line_number = 0;

$handle = fopen("1.xls","r");

while ($data = fgetcsv ($handle, 100000, ",")) {

if($line_number == 0){

$line_number++;

continue;

}

//z这样就可以去掉表头的那一行

for ($i = 0; $i count($data); $i++) {

$ziduan = $data[$i];

}

}

2.php导出CSV文件

header( "Cache-Control: public" );

header( "Pragma: public" );

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:attachment;filename=txxx.csv");

header('Content-Type:APPLICATION/OCTET-STREAM');

ob_start();

$header_str =  iconv("utf-8",'gbk',"信息id,标题,名称,电话,QQ,Email,内容,时间\n");

$file_str="";

$mysqli= new mysqli('localhost','root','','test');

if (mysqli_connect_errno()) {

printf("Connect failed: %s\n", mysqli_connect_error());

exit();

}

$sql='select *  from messages';

$mysqli-query("set names utf8 ;");

$result=$mysqli-query($sql);

if($result){

while ($row = mysqli_fetch_assoc($result)){

$file_str.= $row['id'].','.$row['title'].','.$row['name'].','."'{$row['telephone']}'".','.$row['qq'].','.$row['email'].','.str_ireplace(',',',',$row['content']).','.$row['retime']."\n";

}

}else{

echo "nonono!!!";

}

$file_str=  iconv("utf-8",'gbk',$file_str);

ob_end_clean();

echo $header_str;

echo $file_str;

?


网站标题:PHP海量数据导入导出 phpstudy导出数据库
本文来源:http://pwwzsj.com/article/doodded.html