PHP で Excel を操作する例を 2 つ紹介します。1 つは PHP-ExcelReader を使用して Excel をインポートして出力する方法、もう 1 つは Excel を直接入力してエクスポートする方法です。
PHP-ExcelReader オープン ソース クラスを利用すると、Excel ファイル データを簡単にインポートできます。サンプル コードは次のとおりです。
PHP-ExcelReader ダウンロードアドレス: http://sourceforge.net/projects/phpexcelreader/
例: Excel ファイルをインポート
コードは次のとおりです
| コードをコピー
|
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 へ
|
1.test.php
コードは次のとおりです
コードをコピー
| require_once 'reader.php';
| // ExcelFile($filename, $encoding);
$data = 新しいスプレッドシート_Excel_Reader();
// 出力エンコーディングを設定します。
$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");
コードを見てください:
コードは次のとおりです |
コードをコピー |
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などに変換されます。これには、 | によってセルをテキスト形式に設定する必要があります
echo "="330181199006061234""プログラムがUTF-8でエンコードされている場合は、iconv関数を使用してトランスコードする必要があり、そうしないと文字化けして文字化けしてしまいます。
他の単語形式のインポートも同様で、ヘッダーを指定するだけです:
コードは次のとおりです
コードをコピー
|
| header("Content-Type: application/msword");
header("コンテンツの配置: 添付ファイル; ファイル名=doc.doc");
|
| http://www.bkjia.com/PHPjc/633143.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/633143.html技術記事ここでは、PHP で Excel を操作する例として、PHP-ExcelReader を使用して Excel をインポートして出力する例と、Excel を直接入力してエクスポートする例を紹介します。 ご協力をいただきました...