ホームページ  >  記事  >  バックエンド開発  >  php_PHPチュートリアルでのExcelファイルの操作方法まとめ

php_PHPチュートリアルでのExcelファイルの操作方法まとめ

WBOY
WBOYオリジナル
2016-07-21 15:41:561037ブラウズ

1. COM を使用せずに PHP で Excel ファイルを生成します

コードをコピーします コードは次のとおりです:
header("Content-type:application/vnd.ms-excel");
header( "Content-Disposition:filename=test.xls");
echo "test2tn";
echo "test1t"; ";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
echo "test1t";
echo "test2tn";
?>


で上記のコードを実行します。 php 環境では、ブラウザが Excel ドキュメントをダウンロードするかどうかをユーザーに尋ね、[保存] をクリックすると、ハードディスク上に追加の Excel ファイルが作成され、Excel で開くと、最終的な結果が表示されます。それは...ですか?
実際、実際のアプリケーションを作成するときは、データベースからデータを取り出し、データの各列の末尾に t を追加し、データの各行の末尾に n を追加することで、それをエコーアウトできます。Use header(. "php -type:application/vnd.ms-excel") の先頭のコンテンツは、出力が Excel ファイルであることを示します。ファイル名はtext.xlsです。それで大丈夫です。
ヘッダーを変更して、より多くの形式でファイルを出力できるようにすることもできます。これにより、PHP はさまざまな種類のファイルを処理する際により便利になります。
2. PHP を使用して mysql データ テーブルを Excel ファイル形式に変換します



コードをコピーします
コードは次のとおりです。
$DB_Server = "localhost"; = "mydowns"; $DB_DBName = "mydowns";
$DB_TBLName = "ユーザー"
$Connect($DB_Server, $DB_Password)
@#t 接続します。 ");
$Db = @mysql_select_db($DB_DBName, $Connect)
or die("Couldn@#t データベースを選択できません。");
$file_type = "vnd.ms-excel";
$ file_ending = "xls" ;
header("Content-Type: application/$file_type");
header("Content-Disposition:attachment; filename=mydowns.$file_ending"); );
header( "有効期限: 0");
$now_date = date(@#Y-m-d H:i@#);
$title = "データベース名: $DB_DBName、データ テーブル: $DB_TBLName、バックアップ日: $now_date ";
$sql = "$DB_TBLName から * を選択";
$ALT_Db = @mysql_select_db($DB_DBName, $Connect)
or die("データベースを選択できませんでした");
$result = @mysql_query($sql ,$Connect)
または die(mysql_error());
$sep = "t";
for ($i echo mysql_field_name ($result,$i) . "t";
$i = 0;
{
$schema_insert = "";
for($j=0; $j{
if(!isset($row[$j]))
$schema_insert .= "NULL".$ sep;
elseif ( $row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep; schema_insert = str_replace($ sep."$", "", $schema_insert .= "t");
print "n"; return (true);



3. PHP で Excel を操作する例 (COM オブジェクトを使用して Excel を生成する)

これは、単純に Excel を操作したい人向けです



code

コードは次のとおりです:


//Excel ファイルを定義します
$workbook = "C:/My Documents/test.xls"
$sheet = "Sheet1"; COM オブジェクトを生成します $ex
$ex = new COM("Excel.sheet") または Die ("接続できません! ! ! ");
//Excel ファイルを開きます
$book = $ex->application->Workbooks->Open($workbook) or Die ("Cannot open!!!");
$sheets = $ book ->Worksheets($sheet);
$sheets->activate; $cell = $sheets->Cells(5,5); //セルに値を割り当てます
$cell->value = 999;
//別のファイルとして保存 newtest.xls
$ex->Application->ActiveWorkbook->SaveAs("newtest.xls") ; // Excel を閉じます。効果を確認したい場合は、次の 2 行をコメント アウトし、ユーザーが Excel を手動で閉じます $ex->Application->ActiveWorkbook->Close("False"); $例);
4. PHP は EXCEL を生成します
PHP を通じて EXCEL ファイルを生成できます。
----------------------------
Excel関数
-------------- --- -----------
次のコードを Excel.php として保存し、ページに含めます
1. xlsBOF() を呼び出します
2. xlswritenunber() にコンテンツを書き込みます) または xlswritelabel() で
3. 次に Call xlsEOF() を呼び出します
echo を使用してブラウザ上に表示するだけの代わりに、fwrite 関数を使用してサーバーに直接書き込むこともできます。

コードをコピー コードは次のとおりです:
// ----- 関数ライブラリの始まり -----
// Excel ファイルヘッダーの始まり
function xlsBOF( ) {
echo Pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
// Excel のファイル末尾のフッター
function xlsEOF() {
echo Pack("ss", 0x0A, 0x00 );
return;
}
// Row、Col に数値 (double) を書き込む関数
function xlsWriteNumber($Row, $Col, $Value) {
echo Pack("sssss", 0x203, 14) , $Row , $Col, 0x0);
echo Pack("d", $Value);
}
// Row, Col にラベル(テキスト)を書き込む関数
function xlsWriteLabel($Row, $ Col, $ Value ) {
$L = strlen($Value);
echo Pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L); ;
}
// ----- 関数ライブラリの終わり -----
?>
//
// MIME 互換ブラウザで内容を直接表示するには
// の先頭に次の行を追加しますPHP ファイル:
header ("有効期限: 1997 年 7 月 26 日月曜日 05:00:00 GMT");
header ("Last-Modified: " .gmdate("D,d M YH:i: s") . " GMT");
header ("Cache-Control: no-cache、must-revalidate");
header ("Pragma: no-cache");
header (@#Content-type: application/ x-msexcel @#);
header ("Content-Disposition:attachment; filename=EmplList.xls" );
header ("Content-Description:PHP/INTERBASE Generated Data" ); Excel ストリームの生成を示します
//
xlsBOF(); // Excel ストリームを開始します
xlsWriteLabel(0,0,"This is a label") // 日付にも使用するラベルを書き込みます
xlsWriteNumber( 0,1 ,9999); // 数値 B1 を書き込みます
xlsEOF(); // ストリームを閉じます

;



http://www.bkjia.com/PHPjc/321054.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/321054.html技術記事 1. PHP では、COM を使用せずに Excel ファイルのコピー コードを生成します。 header("Content-type:application/vnd.ms-excel"); ); エコー「テスト1...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。