Excelシート(.xlsx)からデータをインポートしようとしています。インポートデータ用に PHPExcel を見つけましたが、ドキュメントとソースコードをダウンロードした後、どのファイルが重要か混乱しています。また、そのサイトでドキュメントを見つけようとしましたが、方法が見つかりませんでした。
私のタスクについて:選択したシートからExcelシートデータを読み取り、データベーステーブルにデータを挿入します。
使い方を教えていただければ本当にありがたいです。
ありがとう。
PHPExcelライブラリを使用してExcelファイルを読み取り、データをデータベースに挿入できます。
サンプルコードは以下のとおりです。
// Include PHPExcel_IOFactory
include 'PHPExcel/IOFactory.php';
$inputFileName = 'sample.xls';
// Read your Excel workbook
try {
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
} catch(Exception $e) {
die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}
// Get worksheet dimensions
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// Loop through each row of the worksheet in turn
for ($row = 1; $row <= $highestRow; $row++){
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,
NULL,
TRUE,
FALSE);
// Insert row data array into database here using your own structure
ドキュメントをざっと見てから、IOFactoryを使用してファイル形式を自動的に決定します。
include 'path/to/PHPExcel/IOFactory.php';
// Let IOFactory determine the spreadsheet format
$document = PHPExcel_IOFactory::load('path/to/spreadsheet.xls');
// Get the active sheet as an array
$activeSheetData = $document->getActiveSheet()->toArray(null, true, true, true);
var_dump($activeSheetData);
これを試して、開発プロセスをすぐに開始できるようにしてください。
include '.... /PHPexcel/Classes/PHPExcel.php';
$dataFfile = "C:/tmp/test_data.xls";
$objPHPExcel = PHPExcel_IOFactory::load($dataFfile);
$sheet = $objPHPExcel->getActiveSheet();
$data = $sheet->rangeToArray('A2:AB5523');
echo "Rows available: " . count($data) . "\n";
foreach ($data as $row) {
print_r($row);
}
インクルードパスをPHPExcel.phpへのパスに置き換えます$dataFile
をExcelファイルに置き換えます
インポートするセルの範囲も調整します