将XLSX文件导入PHP数组

问题描述 投票:14回答:3

是否可以将XLSX文件的每一行导入PHP数组中的一行?

php xlsx
3个回答
17
投票

您可以使用此处提供的PHPExcel:https://phpexcel.codeplex.com/releases/view/119187

这是我用来读取xlsxlsx到数组:

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);

14
投票

我用这个:

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

你可以从here simplexslx。

UPDATE

显然上面的链接不再起作用了。你现在可以使用this。 (谢谢@Basti)


1
投票

使用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文件的路径。

© www.soinside.com 2019 - 2024. All rights reserved.