ホームページ  >  記事  >  バックエンド開発  >  ExcelデータをPHPで読み込み、指定した形式に変換する方法

ExcelデータをPHPで読み込み、指定した形式に変換する方法

PHPz
PHPzオリジナル
2023-03-28 11:28:121691ブラウズ

Web アプリケーション開発では、Excel ファイルは非常に広く普及している一般的なデータ ソース形式です。ただし、Excel ファイルのデータ形式が対象アプリケーションと互換性がない可能性があります。したがって、Excel データを必要なデータ形式に変換する方法が必要です。この記事では、PHPでExcelファイルをインポートし、データ形式を変換する方法を紹介します。

ステップ 1: PHPExcel ライブラリをインストールする

PHPExcel は、Excel ファイルの読み取りと書き込みを行うための PHP ライブラリです。このライブラリは Composer を使用してインストールできます。ターミナルに次のコマンドを入力します。

composer require phpoffice/phpexcel

これにより、PHPExcel ライブラリとその依存関係がダウンロードされ、インストールされます。

ステップ 2: コードを記述する

このステップでは、Excel ファイルを読み取り、必要なデータ形式に変換するための PHP コードを記述します。次のコードは、PHPExcel を通じて Excel ファイルを読み取り、それを配列に変換する方法を示しています。

<?php
require_once &#39;vendor/autoload.php&#39;;

$inputFileType = &#39;Excel5&#39;; //xls格式
$inputFileName = &#39;example.xls&#39;;
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); 

print_r($sheetData);
?>

上記の例では、まず、読み取る Excel ファイルの種類とファイル名を指定します。次に、PHPExcel リーダー オブジェクトを作成し、そのload() メソッドを使用して Excel ファイルを開きます。最後に、PHPExcel オブジェクトの toarray() メソッドを使用して Excel データを配列に変換し、配列を出力します。

これで、Excel データを配列に変換しました。ただし、ターゲット アプリケーションでは別のデータ形式が必要な場合があるため、この配列に対してさらに形式変換を実行する必要があります。

以下は Excel データを JSON 形式に変換するサンプル コードです:

<?php
require_once &#39;vendor/autoload.php&#39;;

$inputFileType = &#39;Excel5&#39;; //xls格式
$inputFileName = &#39;example.xls&#39;;
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); 

$jsonData = json_encode($sheetData);

echo $jsonData;
?>

上の例では、PHP の json_encode() 関数を使用して Excel 配列を JSON 形式に変換し、その配列を出力します。外。

ステップ 3: データの検証と変換

2 番目のステップでは、Excel データを必要な形式に変換しましたが、検証と変換も実行する必要があります。変換。たとえば、日時を標準時刻形式に変換したり、数値文字列を数値型に変換したりできます。

次は、単純な日付時刻形式変換の例です。

<?php
require_once &#39;vendor/autoload.php&#39;;

$inputFileType = &#39;Excel5&#39;; //xls格式
$inputFileName = &#39;example.xls&#39;;
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); 

foreach($sheetData as $key => $row) {
    if($key > 1) {
        $sheetData[$key][3] = strtotime($row[3]);
    }
}

$jsonData = json_encode($sheetData);

echo $jsonData;
?>

上の例では、配列内の各行を反復処理し、列 4 の日付時刻を Unix タイムスタンプ形式に変換します。

#結論

PHPExcel ライブラリを使用すると、Excel データを PHP アプリケーションに簡単にインポートし、必要な形式に変換できます。ただし、形式変換を実行する前に、データの正確性と一貫性を確保するために、データの検証と変換の問題を慎重に検討する必要があります。

以上がExcelデータをPHPで読み込み、指定した形式に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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