资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php数据导入导出,php数据导入导出不了

如何利用ThinkPHP框架实现Excel数据导入和导出

首先,将PHPExcel文件放入到vendor目录下面:

站在用户的角度思考问题,与客户深入沟通,找到调兵山网站设计与调兵山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、申请域名虚拟主机、企业邮箱。业务覆盖调兵山地区。

备注:ThinkPHP3.1的路径是:./ThinkPHP/Extend/Vendor/;ThinkPHP3.2的路径是:./ThinkPHP/Library/Vendor/;

数据导出功能的实现:

编写导出为Excel的函数exportExcel:

public function exportExcel($expTitle,$expCellName,$expTableData){

$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称

$fileName = $_SESSION['account'].date('_YmdHis');//文件输出的文件名

$cellNum = count($expCellName);

$dataNum = count($expTableData);

vendor("PHPExcel.PHPExcel");

$objPHPExcel = new PHPExcel();//ThinkPHP3.1的写法

$objPHPExcel = new \PHPExcel();//ThinkPHP3.2的写法,有命名空间的概念

$cellName =

array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');

$objPHPExcel-getActiveSheet(0)-mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格

//

$objPHPExcel-setActiveSheetIndex(0)-setCellValue('A1',

$expTitle.' Export time:'.date('Y-m-d H:i:s'));

for($i=0;$i$cellNum;$i++){

$objPHPExcel-setActiveSheetIndex(0)-setCellValue($cellName[$i].'2', $expCellName[$i][1]);

}

// Miscellaneous glyphs, UTF-8

for($i=0;$i$dataNum;$i++){

for($j=0;$j$cellNum;$j++){

$objPHPExcel-getActiveSheet(0)-setCellValue($cellName[$j].($i+3),

$expTableData[$i][$expCellName[$j][0]]);

}

}

header('pragma:public');

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

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

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');//ThinkPHP3.1的写法

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');//ThinkPHP3.2的写法,有命名空间的概念

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

exit;

}

3.读取数据,调用数据调用数据导出函数exportExcel:

function expUser(){//导出Excel

$xlsName = "User";

$xlsCell = array( //设置字段名和列名的映射

array('id','账号序列'),

array('truename','名字'),

array('sex','性别'),

array('res_id','院系'),

array('sp_id','专业'),

array('class','班级'),

array('year','毕业时间'),

array('city','所在地'),

array('company','单位'),

array('zhicheng','职称'),

array('zhiwu','职务'),

array('jibie','级别'),

array('tel','电话'),

array('qq','qq'),

array('email','邮箱'),

array('honor','荣誉'),

array('remark','备注')

);

$xlsModel = M('Member');

$xlsData =

$xlsModel-Field('id,truename,sex,res_id,sp_id,class,year,city,company,zhicheng,zhiwu,jibie,tel,qq,email,honor,remark')-select();

//将sex字段中1和0分贝装换为“男”和“女”

foreach ($xlsData as $k = $v)

{

$xlsData[$k]['sex']=$v['sex']==1?'男':'女';

}

$this-exportExcel($xlsName,$xlsCell,$xlsData);

}

php如何导出数据

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

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

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

如何数据导入 phpadmin导出很容易

导出数据库流程:

1.打开phpmyadmin,找到你需要导出的数据库,单击选中,在右边的导航中找到导出菜单按钮,单击;

2.跳转到如下页面,导出方式:使用默认的快速,格式:建议选择SQL,点击执行,弹窗提示文件保存地址,这里给大家演示,保存在桌面;

3.保存下载为.sql文件,打开后如图所示:

导出数据表流程:

1.打开phpmyadmin,找到你需要导出的数据库,单击,在数据表列表中选择需要导出的表,单击在右边的导航中找到导出菜单按钮,单击;

2.跳转到如下页面,导出方式:使用默认的快速,格式:建议选择SQL,点击执行,弹窗提示文件保存地址,这里给大家演示,保存在桌面;

3.保存下载为.sql文件,打开后如图所示:

如何用php导出导入大数据库

在使用PhpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据。很多时候都是由于文件过大,从本地浏览上传导入,容易中断失败,有没有更好的方法呢?

方法:

在phpMyAdmin的目录下,找到根目录的config.inc.php文件,

打开config.inc.php文件,查找$cfg['UploadDir'],这个参数就是设定导入文件存放的目录,这里把值设定为:ImportSQLFile。

在phpMyAdmin目录下,建立以ImportSQLFile命名的文件夹,

把我们需要导入的数据文件,放到ImportSQLFile文件夹下面,非常简单,

登入phpMyAdmin,选择需要导入的数据,点击导航条上面的“导入”按钮,

选中“从网站服务器上传文件夹ImportSQLFile/中选择:”选项,并需要导入的数据文件,

最后点击“执行”,即可导入成功。

注意事项

如果在config.inc.php文件,没有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。

PHP导出100万数据到excel

php导出数据excel有专门的库,当导出少量数据的时候速度很快,但是当数据量大的时候就会存在服务器内存不够之类的。

所以在导出大量数据的时候就应该分页查询数据,避免服务器宕机。正好PHP提供了fputcsv函数可以将数据写入到csv文件中。

这样我们就可以使用PHP对数据进行分页查询,再写入到csv文件中。

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数据导入导出,php数据导入导出不了
转载来于:http://www.cdkjz.cn/article/hdpcph.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220