phpExcel

  用的是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 等格式導入和導出在項目中也是常常用到的實用工具 

相關文章
相關標籤/搜索