これについてインターネットで多くの情報を検索したところ、すべてのExcelファイルはcsvファイルとして保存され、csvファイルからインポートされることがわかりました。 Excel ファイルを mysql に直接インポートする例を示します。一晩かけてテストしましたが、簡体字中国語や繁体字中国語をインポートするときにコードが文字化けすることはなく、非常に使いやすかったです。
PHP-ExcelReader、ダウンロードアドレス: http://sourceforge.net/projects/phpexcelreader
手順:
PHP は EXCEL を MYSQL テスト環境にインポートします: MYSQL データベースは utf8 エンコーディングを使用します。インポートされた EXCEL ドキュメントは xls 形式であり、テスト済み、xlsx形式[excel 2007]でもOKです
本文中の赤字は注意が必要な箇所ですので、データベース設定などの設定データに置き換えてください。 http://localost/test.php を実行してインポートします。
以下は私が投稿した詳細なコードです。test.php は私が書いたテスト ファイルで、reader.php と oleread.inc ファイルは上記の URL からダウンロードされます。
1. PHP で EXCEL を MYSQL にインポートするコード例 test.php
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><</span><span> ?php </span></span></li><li><span>require_once 'reader.php'; </span></li><li class="alt"><span>// ExcelFile($filename, $encoding); </span></li><li><span>$</span><span class="attribute">data</span><span> = </span><span class="attribute-value">new</span><span> Spreadsheet_Excel_Reader(); </span></li><li class="alt"><span>// Set output Encoding. </span></li><li><span>$data-</span><span class="tag">></span><span>setOutputEncoding('gbk'); </span></span></li> <li class="alt"><span>//”data.xls”是指要导入到mysql中的excel文件 </span></li> <li> <span>$data-</span><span class="tag">></span><span>read('data.xls'); </span> </li> <li class="alt"> <span>@ $</span><span class="attribute">db</span><span> = </span><span class="attribute-value">mysql_connect</span><span>('localhost', 'root', '123456') or </span> </li> <li><span>die("Could not connect to database.");//连接数据库 </span></li> <li class="alt"><span>mysql_query("set names 'gbk'");//输出中文 </span></li> <li><span>mysql_select_db('mydb'); //选择数据库 </span></li> <li class="alt"><span>error_reporting(E_ALL ^ E_NOTICE); </span></li> <li> <span>for ($</span><span class="attribute">i</span><span> = </span><span class="attribute-value">1</span><span>; $i </span><span class="tag"><</span><span>= $data-</span><span class="tag">></span><span>sheets[0]['numRows']; $i++) { </span> </li> <li class="alt"><span>//以下注释的for循环打印excel表数据 </span></li> <li><span>/* </span></li> <li class="alt"> <span>for ($</span><span class="attribute">j</span><span> = </span><span class="attribute-value">1</span><span>; $j </span><span class="tag"><</span><span> = $data-</span><span class="tag">></span><span>sheets[0]['numCols']; $j++) { </span> </li> <li> <span>echo """.$data-</span><span class="tag">></span><span>sheets[0]['cells'][$i][$j]."","; </span> </li> <li class="alt"><span>} </span></li> <li><span>echo "n"; </span></li> <li class="alt"><span>*/ </span></li> <li><span>//以下代码是将excel表数据【3个字段】插入到mysql中,<br>根据你的excel表字段的多少,改写以下代码吧! </span></li> <li class="alt"> <span>$</span><span class="attribute">sql</span><span> = </span><span class="attribute-value">"INSERT INTO test VALUES('"</span><span>. </span> </li> <li> <span>$data-</span><span class="tag">></span><span>sheets[0]['cells'][$i][1]."','". </span> </li> <li class="alt"> <span>$data-</span><span class="tag">></span><span>sheets[0]['cells'][$i][2]."','". </span> </li> <li> <span>$data-</span><span class="tag">></span><span>sheets[0]['cells'][$i][3]."')"; </span> </li> <li class="alt"> <span>echo $sql.'</span><span class="tag"><</span><span> </span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>'; </span> </li> <li> <span>$</span><span class="attribute">res</span><span> = </span><span class="attribute-value">mysql_query</span><span>($sql); </span> </li> <li class="alt"><span>} </span></li> <li> <span class="tag">?></span><span> </span> </li> </ol>
上記は、PHP で EXCEL を MYSQL にインポートする関連方法の紹介です。