Php 将XLSX转换为JSON
我正在编写一个脚本,基本上将excel文件转换为JSON。该文件是一个巨大的预算,有数百行。我使用PHPExcel库将xlsx文件转换为csv文件。然后我将excel文件转换为json,但收到一个错误: 警告:array_combine():两个参数的元素数应相等 这是我的密码Php 将XLSX转换为JSON,php,json,excel,Php,Json,Excel,我正在编写一个脚本,基本上将excel文件转换为JSON。该文件是一个巨大的预算,有数百行。我使用PHPExcel库将xlsx文件转换为csv文件。然后我将excel文件转换为json,但收到一个错误: 警告:array_combine():两个参数的元素数应相等 这是我的密码 <?php ini_set('memory_limit', '1000M'); require_once 'classes/PHPExcel/IOFactory.php'; $excel = PHPExcel
<?php
ini_set('memory_limit', '1000M');
require_once 'classes/PHPExcel/IOFactory.php';
$excel = PHPExcel_IOFactory::load("sap.xlsx");
$writer = PHPExcel_IOFactory::createWriter($excel, 'CSV');
$writer->setDelimiter(",");
$writer->setEnclosure("");
$writer->setLineEnding("\r\n");
$writer->setSheetIndex(0);
$writer->save("sap.csv");
function getJsonFromCsv($file,$delimiter) {
if (($handle = fopen($file, 'r')) === false) {
die('Error opening file');
}
$headers = fgetcsv($handle, 4000, $delimiter);
$csv2json = array();
while ($row = fgetcsv($handle, 4000, $delimiter)) {
$csv2json[] = array_combine($headers, $row);
}
fclose($handle);
return json_encode($csv2json);
}
$file = 'sap.csv';
echo getJsonFromCsv($file, ',');
你有没有研究过像或这样可以直接将XLSX转换为JSON的工具?@Nirk是的,我看到过这个解决方案。我正在寻找一个PHP解决方案。你知道我在哪里可以找到这方面的文档吗,我对javascript不太熟悉。如果你安装nodejs并从npm安装j
模块,它会安装j
命令行工具。一旦安装了它,就可以通过在PHP中运行passthru(“j-jsap.xlsx”)
来获取JSON