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 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $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 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $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 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $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 サイトの他の関連記事を参照してください。