
正文
php怎么将数据导入框架 php项目导入
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何利用ThinkPHP框架实现Excel数据导入和导出
实现步骤php怎么将数据导入框架:
一:在下载最新PHPExcel放到Vendor下php怎么将数据导入框架,注意位置:ThinkPHP\Extend\Vendor\PHPExcel\PHPExcel.php。
二:导出excel代码实现
/**方法**/
function index(){
$this-display();
}
public function exportExcel($expTitle,$expCellName,$expTableData){
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
$fileName = $_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定
$cellNum = count($expCellName);
$dataNum = count($expTableData);
vendor("PHPExcel.PHPExcel");
$objPHPExcel = new PHPExcel();
$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');
$objWriter-save('php://output');
exit;
}
/**
*
* 导出Excel
*/
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();
foreach ($xlsData as $k = $v)
{
$xlsData[$k]['sex']=$v['sex']==1?'男':'女';
}
$this-exportExcel($xlsName,$xlsCell,$xlsData);
}
复制代码
第三:导入excel数据代码
function impUser(){
if (!empty($_FILES)) {
import("@.ORG.UploadFile");
$config=array(
'allowExts'=array('xlsx','xls'),
'savePath'='./Public/upload/',
'saveRule'='time',
);
$upload = new UploadFile($config);
if (!$upload-upload()) {
$this-error($upload-getErrorMsg());
} else {
$info = $upload-getUploadFileInfo();
}
vendor("PHPExcel.PHPExcel");
$file_name=$info[0]['savepath'].$info[0]['savename'];
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader-load($file_name,$encode='utf-8');
$sheet = $objPHPExcel-getSheet(0);
$highestRow = $sheet-getHighestRow(); // 取得总行数
$highestColumn = $sheet-getHighestColumn(); // 取得总列数
for($i=3;$i=$highestRow;$i++)
{
$data['account']= $data['truename'] = $objPHPExcel-getActiveSheet()-getCell("B".$i)-getValue();
$sex = $objPHPExcel-getActiveSheet()-getCell("C".$i)-getValue();
// $data['res_id'] = $objPHPExcel-getActiveSheet()-getCell("D".$i)-getValue();
$data['class'] = $objPHPExcel-getActiveSheet()-getCell("E".$i)-getValue();
$data['year'] = $objPHPExcel-getActiveSheet()-getCell("F".$i)-getValue();
$data['city']= $objPHPExcel-getActiveSheet()-getCell("G".$i)-getValue();
$data['company']= $objPHPExcel-getActiveSheet()-getCell("H".$i)-getValue();
$data['zhicheng']= $objPHPExcel-getActiveSheet()-getCell("I".$i)-getValue();
$data['zhiwu']= $objPHPExcel-getActiveSheet()-getCell("J".$i)-getValue();
$data['jibie']= $objPHPExcel-getActiveSheet()-getCell("K".$i)-getValue();
$data['honor']= $objPHPExcel-getActiveSheet()-getCell("L".$i)-getValue();
$data['tel']= $objPHPExcel-getActiveSheet()-getCell("M".$i)-getValue();
$data['qq']= $objPHPExcel-getActiveSheet()-getCell("N".$i)-getValue();
$data['email']= $objPHPExcel-getActiveSheet()-getCell("O".$i)-getValue();
$data['remark']= $objPHPExcel-getActiveSheet()-getCell("P".$i)-getValue();
$data['sex']=$sex=='男'?1:0;
$data['res_id'] =1;
$data['last_login_time']=0;
$data['create_time']=$data['last_login_ip']=$_SERVER['REMOTE_ADDR'];
$data['login_count']=0;
$data['join']=0;
$data['avatar']='';
$data['password']=md5('123456');
M('Member')-add($data);
}
$this-success('导入成功!');
}else
{
$this-error("请选择上传的文件");
}
}
复制代码
四、模板代码
html
head
/head
body
Pa href="{:U('Index/expUser')}" 导出数据并生成excel/a/Pbr/
form action="{:U('Index/impUser')}" method="post" enctype="multipart/form-data"
input type="file" name="import"/
input type="hidden" name="table" value="tablename"/
input type="submit" value="导入"/
/form
/body
/html
相关问答
Q1: PHP框架 Laravel Eloquent ORM 批量插入数据,怎么实现
PHP框架 Laravel Eloquent ORM 批量插入数据是通过传入数组实现的。
比如:
DB::table('users')-insert(array(
array('email' = 'taylor@example.com', 'votes' = 0),
array('email' = 'dayle@example.com', 'votes' = 0),
));
以上是操作表users,执行insert语句,参数是一个数组,封装了两条数据,这里可以自定义数据,insert内部就编程批量插入了。
然后调用save方法:
public static function create(array $attributes)
{
$model = new static($attributes);
$model-save();
return $model;
}
Q2: 怎么样将php混编文件整理到tp框架中!?
把现有php怎么将数据导入框架的php混编系统改写成TP框架php怎么将数据导入框架的系统?
很简单的,把原生php替换成TP里的,模板数据用TP模板引擎就好了。
Q3: php怎么连接mysql数据库并导入数据?
方法/步骤
1
登录到phpMyAdmin
2
新建一个要导入php怎么将数据导入框架的数据库php怎么将数据导入框架,点击“+new”
3
如图php怎么将数据导入框架,分别填写数据库名称php怎么将数据导入框架,以及选择数据库的排序规则,
4
完成步骤3,点击“创建”
5
完成步骤4,从右侧就可以看到我们新创建的数据库了,如果没有立即显示,刷新即可立马显示了。
6
单击我们新创建的数据库,
7
然后,我们选择“导入”,
8
完成步骤7,我们点击“选择文件”,
9
点击了“选择文件”之后,就会出现如图所示的弹出框,我们选择要导入的sql就可以了,后缀名可以是.sql,也可以是压缩文件.zip。如图,选择好文件之后,点击“确定”就可以了
10
完成步骤⑨,你就可以从刚才的页面中看到自己上传的文件了,如图所示,其余选项默认就可以了,然后点击“执行”就可以了。
11
这个时候,你就可以看到你的数据已经导入到你新创建的数据库中了
php怎么将数据导入框架的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php项目导入、php怎么将数据导入框架的信息别忘了在本站进行查找喔。






