用的是CI框架,用CI系統自帶方法引入插件類,當類名和引入名不一致就會出現引入失敗的問題php
$this->load->library()
解決方法:include 或者 require 引入插件app
①導出excel
1.引入類框架
require_once FCPATH . 'plugins/PHPExcel/PHPExcel.php'; require_once FCPATH . 'plugins/PHPExcel/PHPExcel/Writer/Excel2007.php'; //require_once FCPATH . 'plugins/PHPExcel/PHPExcel/Writer/Excel5.php'; require_once FCPATH . 'plugins/PHPExcel/PHPExcel/IOFactory.php';
2.設置格式工具
$excel = new PHPExcel(); //設置當前的sheet $excel->setActiveSheetIndex(0); //能夠有多個內聯表 $active_sheet = $excel->getActiveSheet(); //設置sheet的name $active_sheet->setTitle('快遞'); //設置居中 $active_sheet->getStyle('A')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //設置標題加粗 $active_sheet->getStyle('A1')->getFont()->setBold(true); //設置單元格寬度 $active_sheet->getColumnDimension('A')->setWidth(10); //設置標題 $active_sheet->setCellValue('A1', 'id');
3.填充內容ui
//數據從第二行開始 $i = 2; foreach ($orders as $order) { //設置單元格的值 $active_sheet->setCellValue('A' . $i, $order['id']); $i++; }
4.保存文件名this
$save_name = '快遞'; $ua = $_SERVER["HTTP_USER_AGENT"]; //處理IE導出中文名稱亂碼 if (preg_match("/MSIE/", $ua)) { $save_name = urlencode($save_name); } //excel頭參數 header('Content-Type: application/vnd.ms-excel'); //日期爲文件名後綴 header('Content-Disposition: attachment;filename="' . $save_name . '.xlsx"'); header('Cache-Control: max-age=0'); //excel5爲xls格式,excel2007爲xlsx格式 $objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); $objWriter->save('php://output');
②導入excelurl
1.引入類插件
require_once FCPATH . 'plugins/PHPExcel/PHPExcel.php'; require_once FCPATH . 'plugins/PHPExcel/PHPExcel/Reader/Excel2007.php'; //require_once FCPATH . 'plugins/PHPExcel/PHPExcel/Reader/Excel5.php'; require_once FCPATH . 'plugins/PHPExcel/PHPExcel/IOFactory.php';
2.加載信息excel
$objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objPHPExcel = $objReader->load($excel_file_full_name); //excel路徑 $sheet = $objPHPExcel->getSheet(0);//第一張表 //取得總行數 爲數字 $highestRow = $sheet->getHighestRow(); //取得總列數 爲大寫字母 $highestColumn = $sheet->getHighestColumn();
3.提取內容code
for ($j = 2; $j <= $highestRow; $j++) //從第二行開始讀取數據 { $row = array(); //保存一行數據 即一條記錄 for ($k = 'A'; $k <= $highestColumn; $k++) //從A列讀取數據 { $row[] = $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue(); } //執行插入操做 $order = $this->order_model->add($row); } @unlink($excel_file_full_name); //刪除文件
phpExcel 是一款功能強大的插件能夠支持csv,pdf,excel 等格式導入和導出在項目中也是常常用到的實用工具