您的位置:首页 > 编程语言 > PHP开发

PHPExcel导出导入

2017-10-16 11:50 309 查看
//加载PHPExcel的类
$this->load->library('PHPExcel/PHPExcel');
$this->load->library('PHPExcel/PHPExcel/IOFactory.php');
//创建PHPExcel实例
$excel = new PHPExcel();

$IOFactory = new IOFactory();

$objPHPExcel = new PHPExcel();                     //实例化一个PHPExcel()对象
$objSheet = $objPHPExcel->getActiveSheet();        //选取当前的sheet对象
$objSheet->setTitle('helen');                      //对当前sheet对象命名
//常规方式:利用setCellValue()填充数据
$objSheet->setCellValue('A1', '用户id')
->setCellValue('B1', '订单id')
->setCellValue('C1', '订单号')
->setCellValue('D1', '娃娃')
->setCellValue('E1', '收货人')
->setCellValue('F1', '手机')
->setCellValue('G1', '省')
->setCellValue('H1', '市')
->setCellValue('I1', '县')
->setCellValue('J1', '详细')
->setCellValue('K1', '备注');;   //利用setCellValues()填充数据
//取巧模式:利用fromArray()填充数据
$info[] = ['用户ID','订单ID','订单号','娃娃','收货人','电话','省','市','县','详细','备注'];
foreach($list as $key=>$val)
{
$info[] = [
$val['user_id'],$val['ex_id'],$val['order_num'],$val['name'],$val['phone'], $val['province'],$val['city'],
$val['county'],$val['detailed'],$val['remark']
];
}

$objSheet->fromArray($info);  //利用fromArray()直接一次性填充数据
$objWriter = $IOFactory::createWriter($objPHPExcel,'Excel2007');   //设定写入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="11.xls"');
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output');
导入
if (!empty ($_FILES ['file_stu'] ['name'])) {$tmp_file = $_FILES ['file_stu'] ['tmp_name'];$file_types = explode(".", $_FILES ['file_stu'] ['name']);$file_type = $file_types [count($file_types) - 1];/*判别是不是.xls文件,判别是不是excel文件*/if (strtolower($file_type) != "xls") {echo ('不是Excel文件,重新上传');}// 上传文件到服务器目录$config['upload_path'] = $_SERVER['DOCUMENT_ROOT'].'/upload/order_info/';// 允许上传哪些类型$config['allowed_types'] = 'xls';// 上传后的文件名,用uniqid()保证文件名唯一$config['file_name'] = $name=date('Ymdhis').uniqid();// 加载上传库$this->load->library('upload', $config);// 上传文件,这里的pic是视图中file控件的name属性$result = $this->upload->do_upload('file_stu');// 如果上传成功,获取上传文件的信息if (!$result){jsRedirect("cuowu !", 'admin/order_form/lst');}$file = $this->upload->data();$file = $file['full_path'];$this->load->library('PHPExcel/PHPExcel');$PHPExcel = new PHPExcel();$this->load->library('PHPExcel/PHPExcel/IOFactory.php');$IOFactory = new IOFactory();$IOFactory = $IOFactory::load($file);$reader = $IOFactory->getWorksheetIterator();//循环读取sheetforeach($reader as $sheet){//读取表内容$content = $sheet->getRowIterator();//逐行处理$res_arr = array();foreach($content as $key => $items){$rows = $items->getRowIndex();              //行$columns = $items->getCellIterator();       //列$row_arr = array();//确定从哪一行开始读取if($rows < 1){continue;}//逐列读取foreach($columns as $head => $cell){//获取cell中数据$data = $cell->getValue();$row_arr[] = $data;}$res_arr[] = $row_arr;}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息