ホームページ >php教程 >php手册 >phpでエクセルファイルを操作する方法まとめ

phpでエクセルファイルを操作する方法まとめ

WBOY
WBOYオリジナル
2016-06-13 12:19:52833ブラウズ

1. PHP (COM なし) で Excel ファイルを生成します

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


<
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=test.xls");

エコー "test1t";
エコー "test1t";
エコー "test1t"; ;
echo "test1t";
echo "test1t";


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

2. PHP を使用して mysql データ テーブルを Excel ファイル形式に変換します




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

$DB_Server = "localhost"; $DB_Password = ""; $DB_DBName = "mydowns"; 🎜> $DB_TBLName = "ユーザー"; $Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password)

or die("Couldn@#t connect."); mysql_select_db( $DB_DBName, $Connect)

または die("データベースを選択できませんでした。");
$file_type = "vnd.ms-excel"
$file_ending = "xls"; 🎜> header("Content-Type: application/$file_type");
header("Content-Disposition:attachment; filename=mydowns.$file_ending");
header("Pragma: no-cache") ;
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("Couldn@#t select Database" );
$result = @mysql_query($sql,$Connect)
または die(mysql_error());
$sep = "t"; 🎜> for ($i = 0; $i < mysql_num_fields($result); $i ) {
echo mysql_field_name($result,$i) .
}
print(" n" );
$i = 0;
while($row = mysql_fetch_row($result))
{
$schema_insert = "";
for($j=0; $ j< mysql_num_fields($result);$j )
{
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep; $row [$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert .= "t"
print(trim($schema_insert)); "n ";
$i ;
}
return (true);



3. COM オブジェクト Excel を生成)

単純に Excel を処理したい人向けです



コードをコピー

コードは次のとおりです。 🎜>

//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->activate; //セルに値を代入$cell->value = 999; //別のファイルとして保存 newtest.xls $ex ->Application->ActiveWorkbook->SaveAs("newtest.xls");

//Excel を閉じて、その効果を確認したい場合は、次の 2 行をコメントアウトして、ユーザーが Excel を手動で閉じられるようにします。

$ex->Application->ActiveWorkbook->Close("False");
unset ($ex)>

;
4. PHP は EXCEL 要素を生成します
Excel ファイルは PHP を通じて生成できます。
----------------------------
Excel 関数
---------- - -----------------
次のコードを Excel.php として保存し、ページ
に含めて、
を呼び出します。 1. xlsBOF() を呼び出します。
2. xlswritenunber() または xlswritelabel() にコンテンツを書き込みます。
3. 次に、Call xlsEOF() を呼び出します。
表示された echo を使用する代わりに、fwrite 関数を使用してサーバーに直接書き込むこともできます。ブラウザ上で。

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


// ----- begin関数ライブラリの -----
// Excel ファイルヘッダーの開始
function xlsBOF() {
echo Pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0); 🎜>return ;
}
// Excel ファイルの終わりのフッター
function xlsEOF() {
echo Pack("ss", 0x0A, 0x00)
}
// Row、Col に数値 (double) を書き込む関数
function xlsWriteNumber($Row, $Col, $Value) {
echo Pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo Pack("d", $Value);
return;
}
// Row, Col にラベル(テキスト)を書き込む関数
xlsWriteLabel($ Row, $Col, $Value ) {
$L = strlen($Value)
echo Pack("ssssss", 0x204, 8 $L, $Row, $Col, 0x0, $L; );
echo $Value;
}
// ----- 関数ライブラリの終わり -----
// // 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(); // ストリームを閉じます


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。