web-dev-qa-db-ja.com

XLSXファイルをPHP配列にインポートします

XLSXファイルの各行をPHP配列の行にインポートすることは可能ですか?

ここで入手できるPHPExcelを使用できます: https://phpexcel.codeplex.com/releases/view/119187

xlsまたはxlsxのいずれかを配列に読み取るために使用するものは次のとおりです。

require_once('/path/to/PHPExcel.php');

$filename = "example.xlsx";
$type = PHPExcel_IOFactory::identify($filename);
$objReader = PHPExcel_IOFactory::createReader($type);
$objPHPExcel = $objReader->load($filename);

foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
    $worksheets[$worksheet->getTitle()] = $worksheet->toArray();
}

print_r($worksheets);
17
billynoah

私はこれを使用します:

include 'simplexlsx.class.php';
$xlsx = @(new SimpleXLSX('myFile.xlsx'));
$data =  $xlsx->rows();

ここ からsimplexslxできます。

[〜#〜]更新[〜#〜]

どうやら上記のリンクはもう機能しません。これで、 this を使用できます。 (@Bastiに感謝)

14
coderama

問題は PHPExcel ライブラリを使用して解決できます:

$data = [];

$type = PHPExcel_IOFactory::identify($filepath);
$objReader = PHPExcel_IOFactory::createReader($type);

$objPHPExcel = $objReader->load($filepath);

$rowIterator = $objPHPExcel->getActiveSheet()->getRowIterator();
foreach($rowIterator as $row){
    $cellIterator = $row->getCellIterator();
    foreach ($cellIterator as $cell) {
        $data[$row->getRowIndex()][$cell->getColumn()] = $cell->getCalculatedValue();
    }
}

ここで、$ filepath-xlsまたはxlsxファイルへのパス。

1
ns16