ホームページ > バックエンド開発 > PHPチュートリアル > PHP で Excel (xls) ファイルを mysql データベースにインポート_PHP チュートリアル

PHP で Excel (xls) ファイルを mysql データベースにインポート_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:46:48
オリジナル
1066 人が閲覧しました

Excelをmysqlデータベースにインポートする2つの方法を整理しました。1つはPHP-ExcelReaderを使用してインポートする方法、もう1つはExcelをcsvファイルに変換し、PHP関連機能を使用して直接インポートする方法です。

昨夜、顧客からウェブサイトを構築するために私に連絡がありました。そのリクエストは、顧客が提供した Excel ファイルのデータを mysql データベースにインポートすることでした。最も一般的な方法は、まず xls ファイルを csv 形式のファイルにエクスポートすることです。次に、csv 形式を解析して、ファイルが mysql データベースにインポートされます。この方法は比較的冗長であり、いくつかのステップに分かれているため、非常に不便です。今日、Broken Bridge Canxue は、csv の中間リンクをスキップして、Excel ファイルを mysql データベースに直接インポートする方法を導入しました。

まず、PHP-ExcelReader をダウンロードする必要があります。これは主に Excel ファイルを解析するために使用されます。ダウンロード後、解凍して主に使用します。 Excel フォルダー内の 2 つのファイル Reader.php と oleread.php (このファイルのデフォルトは oleread.inc です。理由はわかりませんが、電子テキストの束です。読んでいません。変更するだけです)。名前)。

Reader.php ファイル内で次の同様のコード (最初の行) を見つけて、正しい oleread.php パスに変更します: require_once 'oleread.php';

次に、新しい php ファイルを作成し、reader.php を導入します。コードは次のとおりです。

コードは次のとおりです コードをコピー

require_once 'Excel/reader.php'; $data = 新しいスプレッドシート_Excel_Reader();
$data->setOutputEncoding('gbk');//ここでエンコーディングを設定します (通常は gbk モードです)

$data->read('Book1.xls');//ファイルパス bKjia.c0m

error_reporting(E_ALL ^ E_NOTICE);

//ここでは Excel ファイルの内容をループするだけです。データベースに保存するには、出力場所に mysql ステートメントを書き込むだけです~
for ($i = 1; $i sheets[0]['numRows']; $i++) {
for ($j = 1; $j sheets[0]['numCols']; $j++) {
echo """.$data->sheets[0]['cells'][$i][$j]."",";
}
エコー「n」;
}
?>

注意: PHP-ExcelReader 圧縮パッケージ内の xls をテストに使用しないでください。Broken Bridge Canxue は、ファイルが Excel であっても開けないことを発見したため、それは間違っています。

Broken Bridge Canxue は上記の方法を使用して 140 万のデータを解析し、すべて正常に表示されたため、誰もが安心して使用できます

phpexcel は比較的リソースを多く消費しますが、すべての Excel を読み取れるわけではありません。操作のために CSV に変換できます。

まず、データベースがどのようなエンコーディングであるかを確認します。例として utf-8 を取り上げます。

まず Excel ファイルを開いて保存し、.csv ファイルとして保存することを選択します。

次に、テキストエディターで .csv ファイルを開き、utf-8 csv として保存します
その後、PHP を作成するときに、PHP の getcsv を使用して開き (これにより、フィールドにその getcsv が含まれることが保証され、解析エラーが発生します)、解析された結果をデータベースにインポートできます。

csv形式だったらこんなに苦労しなくて済んだのに


コードは次のとおりです
コードをコピー
$connect=mysql_connect("localhost","admin","admin") または die("データベースへの接続に失敗しました!"); //データベースに接続します (テスト)
mysql_select_db("testcg",$connect) または die (mysql_error());

$temp=file("test.csv");//EXCEL ファイルを接続します。形式は .csv です
for ($i=0;$i {

$string=explode(",",$temp[$i]);//ループを通じて EXCEL ファイル内の各行レコードの値を取得します

//EXCEL ファイル内のレコードの各行の値をデータベースに挿入します
$q="ceshi (name,num,dom) 値に挿入('$string[0]','$string[1]','$string[2]');"; mysql_query($q) か死ぬか (mysql_error());

if (!mysql_error()); {
echo "データは正常にインポートされました!"
}
エコー $string[4]."n"; unset($string); }

?>







www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632909.html技術記事 Excelをmysqlデータベースにインポートする2つの方法を整理しました。1つはPHP-ExcelReaderを使用してインポートする方法、もう1つはExcelをcsvファイルに変換し、php関連の関数を使用して直接インポートする方法です。 昨日の夜…
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート