如何使用php将*.xlsb转换为数组或*.csv

如何使用php将*.xlsb转换为数组或*.csv,php,excel,csv,phpexcel,xlsb,Php,Excel,Csv,Phpexcel,Xlsb,我正在尝试将*.xlsb文件转换为php数组或*.csv文件(或至少*.xls)。我试图使用phpexel,但它似乎无法识别此文件中的内容 我注意到,您可以将*.xlsb文件重命名为*.zip文件,然后使用命令行unzip*.zip将其解压缩。在此之后,您将获得下一个文件夹,其中包含sheet1.bin文件: 看起来这个文件应该包含Excel单元格值,但我仍然无法使用PHPExcel解析它。有人能帮我解析*.xlsb文件并从中获取信息吗?或者可以解析此sheet1.bin文件?PHPExcel

我正在尝试将
*.xlsb
文件转换为
php数组
*.csv
文件(或至少
*.xls
)。我试图使用
phpexel
,但它似乎无法识别此文件中的内容

我注意到,您可以将
*.xlsb
文件重命名为
*.zip
文件,然后使用命令行
unzip*.zip
将其解压缩。在此之后,您将获得下一个文件夹,其中包含
sheet1.bin
文件:


看起来这个文件应该包含Excel单元格值,但我仍然无法使用
PHPExcel
解析它。有人能帮我解析
*.xlsb
文件并从中获取信息吗?或者可以解析此
sheet1.bin
文件?

PHPExcel不支持XLSB文件。XLSB文件格式是zip存档,与XLSX相同,但存档中的大多数文件是二进制文件。二进制文件不容易解析

支持XLSB文件的PHP Excel库是。您可以从下载库

将XLSB转换为PHP数组

//Code for reading xlsb file
$workbook = new COM("EasyXLS.ExcelDocument");
$workbook->easy_LoadXLSBFile("file.xlsb");

//Code for building the php array
$xlsTable = $workbook->easy_getSheetAt(0)->easy_getExcelTable();
for ($row=0; $row<$xlsTable->RowCount(); $row++)
{
   for ($column=0; $column<$xlsTable->ColumnCount(); $column++)
   {
       $value = $xlsTable->easy_getCell($row, $column)->getValue();
       //transfer $value into your array
   }
}
将XLSB转换为XLS

//Code for reading xlsb file
$workbook = new COM("EasyXLS.ExcelDocument");
$workbook->easy_LoadXLSBFile("file.xlsb");

//Code for converting to XLS
$workbook->easy_WriteXLSFile("file.xls");
//Code for reading xlsb file
$workbook = new COM("EasyXLS.ExcelDocument");
$workbook->easy_LoadXLSBFile("file.xlsb");

//Code for converting to CSV
$workbook->easy_WriteCSVFile("file.csv", $workbook->easy_getSheetAt(0)->getSheetName());
//Code for reading xlsb file
$workbook = new COM("EasyXLS.ExcelDocument");
$workbook->easy_LoadXLSBFile("file.xlsb");

//Code for converting to XLS
$workbook->easy_WriteXLSFile("file.xls");