ホームページ >バックエンド開発 >PHPの問題 >PHPで配列をExcelにエクスポートする方法

PHPで配列をExcelにエクスポートする方法

王林
王林オリジナル
2023-05-05 20:34:05977ブラウズ

開発プロセス中、ユーザーがダウンロードして保存しやすいように、データを Excel ファイルにエクスポートする必要があることがよくあります。人気のサーバーサイド プログラミング言語である Php も、この関数を簡単に実装できます。この記事では、Phpを使って配列をExcelファイルにエクスポートする方法を紹介します。

1. 準備

コーディングを開始する前に、まずオープン ソースの Php Excel 処理ライブラリである PHPExcel がサーバーにインストールされていることを確認する必要があります。まだインストールしていない場合は、PHPExcel 公式 Web サイトからダウンロードできます。使用方法は非常に簡単です。PHPExcel ライブラリ ファイルをプロジェクト フォルダーにコピーするだけです。

2. Excel ファイルの作成とデータの書き込み

新しい Excel ファイルの作成とデータの書き込みは、PHPExcel ライブラリの PHPExcel オブジェクトを通じて実行する必要があります。使いやすい PHPExcel オブジェクトには、Excel ファイルのさまざまなプロパティを定義できるように、いくつかの便利な関数が用意されています。

たとえば、新しい Excel ファイルを作成し、データをより適切に表示するためにその列幅と行高さを定義する場合は、次のコードを使用できます。

//创建PHPExcel对象
$objPHPExcel = new PHPExcel();

//设置列宽
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);

//设置行高
$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(30);
$objPHPExcel->getActiveSheet()->getRowDimension(2)->setRowHeight(20);

セットアップ完了 設定後Excel ファイルのプロパティを使用すると、Excel ファイルにデータを書き込むことができます。配列データを Excel にエクスポートする方法を示すために、以下に示すような配列データがあると仮定します。

$data = array(
    array('姓名', '年龄', '性别'),
    array('张三', '18', '男'),
    array('李四', '20', '女'),
    array('王五', '22', '男'),
);

この配列データを Excel ファイルに書き込むには、次のコードを使用できます。

//写入数据到工作表1
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->fromArray($data, NULL, 'A1');

上記のコードは、配列データ $data を Excel ファイルのワークシート 1 に行 1、列 1 から書き込みます。 $null は、入力されたデータに従って PhpExcel がセルの形式を自動的に調整することを意味します。

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

配列データを Excel ファイルに書き込んだ後の最後のステップは、生成された Excel ファイルをローカルにエクスポートすることです。これを行うには、いくつかの応答ヘッダーを設定する必要があります。

まず、ユーザーが内容をよりよく識別できるように、受信した Excel ファイルのファイル名を設定する必要があります。次に、ブラウザーが Excel ファイルをプレーン テキスト ファイルではなく Excel ファイルとして認識できるように、ユーザーに Excel ファイルを渡すように指示する必要があります。

上記の関数を実装するコードは次のとおりです。

//设置响应头信息
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="测试导出.xlsx"');
header('Cache-Control: max-age=0');

//创建Excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

//导出Excel文件到本地
$objWriter->save('php://output');

上記のコードは、関連する応答ヘッダー情報を設定することで Excel ファイルを受信するようにブラウザーに指示します。次に、PHPExcel_IOFactory オブジェクトを作成し、それを使用してデータをファイルに書き込み、ファイルを保存します。

最後に、$objWriter->save('php://output') 関数を呼び出して、Excel ファイルをクライアントにエクスポートします。

4. 完全なコード

上記のコード部分を組み合わせることで、配列データを Excel ファイルにエクスポートする機能を実現できます。

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

//引入PHPExcel库文件
require_once 'PHPExcel.php';

//创建PHPExcel对象
$objPHPExcel = new PHPExcel();

//设置列宽
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);

//设置行高
$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(30);
$objPHPExcel->getActiveSheet()->getRowDimension(2)->setRowHeight(20);

//定义数据
$data = array(
    array('姓名', '年龄', '性别'),
    array('张三', '18', '男'),
    array('李四', '20', '女'),
    array('王五', '22', '男'),
);

//将数组写入Excel文件
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->fromArray($data, NULL, 'A1');

//设置响应头信息
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="测试导出.xlsx"');
header('Cache-Control: max-age=0');

//创建Excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

//导出Excel文件到本地
$objWriter->save('php://output');

上記のコードは、PHPExcel ライブラリを使用して Excel オブジェクトを作成し、データを Excel に書き込み、最後に Excel ファイルをクライアントにエクスポートします。

5. 概要

Php は人気のあるサーバーサイド プログラミング言語であり、PHPExcel ライブラリと組み合わせることで、配列データを Excel ファイルに簡単にエクスポートし、ダウンロードして保存できるようにユーザーに提供できます。上記の例では、PHPExcel ライブラリを使用して Excel ワークブックを作成し、データを書き込み、ファイルをエクスポートする方法を紹介しましたが、PHP 開発における Excel エクスポートの参考になれば幸いです。

以上がPHPで配列をExcelにエクスポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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