PHP を使用した EXCEL ファイルのインポートに関する簡単な説明
Excel をインポートするための PHP 用のオープンソース ファイルがいくつかあります。私は phpExcelReader を使用します。
方法は次のとおりです。コードを直接入力します:
$filename = $_FILES ['excel'] ['name']; $tmp_name = $_FILES ['excel'] ['tmp_name']; // 保存上传文件 if (move_uploaded_file ( $tmp_name, 'upload/' . $filename )) { inputExcel ( $filename ); } // 调用Reader require_once 'reader.php'; // 创建 Reader $data = new Spreadsheet_Excel_Reader (); // 设置文本输出编码 $data->setOutputEncoding ( 'utf-8' ); // 读取Excel文件 $data->read ( 'upload/' . $filename ); // $data->sheets[0]['numRows']为Excel行数 // $data->sheets[0]['numCols'] 为Excel列数 for($i = 2; $i <= $data->sheets[0]['numRows']; $i ++) { // 从单元格中获取数据 $a = mysql_real_escape_string ( $data->sheets [0] ['cells'] [$i] [1] ); $b = mysql_real_escape_string ( $data->sheets [0] ['cells'] [$i] [2] ); $c = mysql_real_escape_string ( $data->sheets [0] ['cells'] [$i] [3] ); $d = mysql_real_escape_string ( $data->sheets [0] ['cells'] [$i] [4] ); }
?
このコードの機能は、Excel ファイルをアップロードしてデータを取得することです。
について説明します。
1. Excel の表では、半角括弧 (小括弧) と [角括弧] を使用しないでください。データを取得すると、配列に直接保存されるため、半角括弧 (小括弧) と [角括弧] が影響します。配列の形式を変更してエラーを引き起こす場合、私のアプローチはそれらを全角 (小括弧) と [角括弧] に置き換えることです。
2. Excelから取り出した値をデータベースとやり取りしたい場合は、データベース実行時の一部のシンボルによるエラーを防ぐために、ここでmysql_real_escape_string(data)を直接エスケープします。
3. Excel のデータ量が比較的大きい場合は、SQL ステートメントをデータベースに挿入するときに、SQL ステートメントの長さに注意してください。PHP 文字列の長さの制限は、php.ini の構成とコンピューターのメモリに関係します。
4. $data->setOutputEncoding ('utf-8') で中国語の文字化けの問題を解決できます。
?