ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルを使用して Excel ファイルをインポートおよびエクスポートする方法

PHP_PHP チュートリアルを使用して Excel ファイルをインポートおよびエクスポートする方法

WBOY
WBOYオリジナル
2016-07-13 10:43:48750ブラウズ

PHP で Excel を操作する例を 2 つ紹介します。1 つは PHP-ExcelReader を使用して Excel をインポートして出力する方法、もう 1 つは Excel を直接入力してエクスポートする方法です。


PHP-ExcelReader オープン ソース クラスを利用すると、Excel ファイル データを簡単にインポートできます。サンプル コードは次のとおりです。

PHP-ExcelReader ダウンロードアドレス: http://sourceforge.net/projects/phpexcelreader/

例: Excel ファイルをインポート

コードは次のとおりですコードをコピー1.test.php
require_once 'Excel/reader.php'
$data = 新しいスプレッドシート_Excel_Reader(); $data->setOutputEncoding('gbk'); $data->read('test.xls'); for ($i = 1; $i sheets[0]['numRows']; $i++) {
for ($j = 1; $j sheets[0]['numCols']; $j++) {
echo """.$data->sheets[0]['cells'][$i][$j]."","; }
「ん」をエコーし​​ます。 }
?>





Example.phpexcel から Excel へ

コードは次のとおりです

コードをコピー

require_once 'reader.php';// ExcelFile($filename, $encoding); $data = 新しいスプレッドシート_Excel_Reader();http://www.bkjia.com/PHPjc/633143.html
// 出力エンコーディングを設定します。

$data->setOutputEncoding('gbk');

//「data.xls」はmysqlにインポートされるExcelファイルを指します
$data->read('data.xls');

@ $db = mysql_connect('localhost', 'root', '123456') または
die("データベースに接続できませんでした。");//データベースに接続します

mysql_query("set names 'gbk'");//中国語を出力

mysql_select_db('mydb'); //データベースを選択します
error_reporting(E_ALL ^ E_NOTICE);

for ($i = 1; $i sheets[0]['numRows']; $i++) {
//以下のコメント付き for ループは Excel テーブル データを出力します
/*
for ($j = 1; $j sheets[0]['numCols']; $j++) {
echo """.$data->sheets[0]['cells'][$i][$j]."",";

}

「n」をエコーし​​ます。 //PHP オープンソース コード


*/
//次のコードは Excel テーブル データ [3 フィールド] を mysql に挿入します。Excel テーブルのフィールド数に応じて次のコードを書き換えます。
$sql = "テスト値に挿入('".
) $data->sheets[0]['cells'][$i][1]."','".
$data->sheets[0]['cells'][$i][2]."','".

$data->sheets[0]['cells'][$i][3]."')";

$sql をエコーし​​ます。'
';
$res = mysql_query($sql);
}

?>



Excelファイルのエクスポート


たとえば、PHP から Excel をエクスポートするプログラムが必要な場合、関連するデータを Excel テーブルにエクスポートするだけで済みます。このような単純な操作では、これらのクラス ライブラリを使用する必要はありません。ヘッダーを直接使用するだけです: header("Content-type:application/vnd.ms-excel");

コードを見てください:

によってセルをテキスト形式に設定する必要があります echo "="330181199006061234""プログラムがUTF-8でエンコードされている場合は、iconv関数を使用してトランスコードする必要があり、そうしないと文字化けして文字化けしてしまいます。
コードは次のとおりです コードをコピー

header("コンテンツタイプ:アプリケーション/vnd.ms-excel"); header("Content-Disposition:attachment;filename=Export_test.xls"); $tab="t"; $br="n";
$head="番号".$tab."備考".$br;
//出力内容は以下の通りです:
エコー $head.$br;
エコー「test321318312」.$tab; 「文字列1」をエコーし​​ます
エコー$br;

echo "330181199006061234".$tab; //直接出力は Excel によって数値型として認識されます
「番号」をエコーし​​ます。 エコー$br;

echo "="330181199006061234"".$tab; //元の出力を処理する必要があります
「文字列2」をエコーし​​ます
エコー$br;

?>




データが数値の場合、エクスポート後に問題が発生する可能性があります。例えば「012345」はExcelでは「12345」となり、ID番号など長い数字を入力するとExcelでは科学表記で表現され、下4桁がずれて0000などに変換されます。これには、
他の単語形式のインポートも同様で、ヘッダーを指定するだけです:


コードは次のとおりです

コードをコピーheader("Content-Type: application/msword"); header("コンテンツの配置: 添付ファイル; ファイル名=doc.doc");


www.bkjia.com

tru​​e

技術記事ここでは、PHP で Excel を操作する例として、PHP-ExcelReader を使用して Excel をインポートして出力する例と、Excel を直接入力してエクスポートする例を紹介します。 ご協力をいただきました...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。