ci框架讀取上傳的excel檔案資料

2022-05-16 08:28:41 字數 2427 閱讀 7077

此功能實現使用到phpexcel類庫,phpexcel是乙個php類庫,用來幫助我們簡單、高效實現從excel讀取excel的資料和匯出資料到excel。也是我們日常開發中,經常會遇到的使用場景。

(二) phpexcel引入到ci框架

(三) 具體**實現

1) excel檔案的接收及其驗證

說明:detectuploadfilemime()方法是判斷上傳檔案是否為excel檔案,此方法更為安全

if($_files['file']['error'])

die;

}//接收的excel資訊

$info = pathinfo($_files['file']['name']);

$file = $_files['file'];

//驗證excel檔案型別

$res = $this->detectuploadfilemime($file);

if($res)

$new_path = $new_dir . $new_name;

$new_path = str_replace('\\', directory_separator, $new_path);

$new_path = str_replace('/', directory_separator, $new_path);

$res = move_uploaded_file($_files['file']['tmp_name'], $new_path);

if (!$res)

2) 讀取excel檔案資料

if (!file_exists($new_path)) 

/*載入phpexcel*/

$this->load->library('phpexcel.php');

$this->load->library('phpexcel/iofactory.php');

// $this->load->library('phpexcel/reader/excel5.php');

$objphpexcel = new phpexcel();

$objprops = $objphpexcel->getproperties();

//設定excel格式

if($info['extension'] =='xlsx' )else

//載入excel檔案

$objphpexcel = $objreader->load($new_path);

//讀取第一張表

$sheet = $objphpexcel->getsheet(0);

//獲取總行數

$highestrow = $sheet->gethighestrow();

//獲取總列數

$highestcolumn = $sheet->gethighestcolumn();

$excel_data = array();

for ($col='a';$col<=$highestcolumn;$col++)

}print_r($excel_data);die;

我上傳的excel檔案內容為

列印出來的資料為

就這樣完成la

補充detectuploadfilemime()方法

/**

* 檢測是否為excel檔案程式

* *

*/public function detectuploadfilemime($file)

if ($typecode == "d0cf11e0a1b11ae1")

break;

case "xlsx" :

// 2007 excel

$fh = fopen ( $file ["tmp_name"], "rb" );

$bin = fread ( $fh, 4 );

fclose ( $fh );

$strinfo = @unpack ( "c4chars", $bin );

$typecode = "";

foreach ( $strinfo as $num )

// echo $typecode;

if ($typecode == "504b34")

break;

} // 3.return the flag

return $flag;

}

ok,不謝( ̄_, ̄ )

更新一下,最近聽說phpexcel已經停止維護了,所以可以用phpspreadsheet了

還沒有嘗試,先留個鏈結 

CI框架 讀取新聞條目

在上一節中,我們通過寫出乙個包含靜態頁面的類了解了一些框架的基本概念,我們也根據自定義路由規則來重定向 uri 現在是時候向大家介紹動態內容 和如何使用資料庫了。資料庫的查詢操作應該放在模型裡,而不是寫在控制器裡,這樣可以很方便的重用它。模型正是用於從資料庫或者其他儲存中獲取 新增 更新資料的地方。...

CI框架(5) 資料讀取

1,資料庫引數設定 2,建立model 3,控制器獲得資料,並且傳遞引數給檢視 4,檢視顯示資料 1,資料庫引數設定 hostname 資料庫位址 username 使用者名稱 password 密碼 database 資料 2,建立model class singermodel extends c...

python pandas讀取excel檔案

python pandas讀取excel檔案 data pd.read excel c users 86188 python dummy.xlsx 會報錯 syntaxerror unicode error unicodeescape codec can t decode bytes in posi...