Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP将Excel XLS转换为CSV_Php_Csv_Xls - Fatal编程技术网

如何使用PHP将Excel XLS转换为CSV

如何使用PHP将Excel XLS转换为CSV,php,csv,xls,Php,Csv,Xls,有人能指导我如何使用PHP将XLS转换为CSV吗 我有excel电子表格,其中包含一个文档列表,我想用PHP将其转换为CSV格式 也许你可以开始 然后,使用主逻辑输出所需内容(在您的案例中为csv) 祝您好运,您可以使用php库读取excel文件,只需在行和单元格上循环,然后将数据写入csv文件?这肯定会奏效 require_once 'Classes/PHPExcel/IOFactory.php'; $inputFileType = 'Excel5'; $inputFileName = 'Y

有人能指导我如何使用PHP将XLS转换为CSV吗

我有excel电子表格,其中包含一个文档列表,我想用PHP将其转换为CSV格式

也许你可以开始

然后,使用主逻辑输出所需内容(在您的案例中为csv)


祝您好运,

您可以使用php库读取excel文件,只需在行和单元格上循环,然后将数据写入csv文件?

这肯定会奏效

require_once 'Classes/PHPExcel/IOFactory.php';

$inputFileType = 'Excel5';
$inputFileName = 'YOUR_EXCEL_FILE_PATH';

$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcelReader = $objReader->load($inputFileName);

$loadedSheetNames = $objPHPExcelReader->getSheetNames();

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcelReader, 'CSV');

foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
    $objWriter->setSheetIndex($sheetIndex);
    $objWriter->save($loadedSheetName.'.csv');
}

希望这有助于…

重写@Rajat Modi使用PhpSpreadsheet库提供的代码,因为PHPExcel已被弃用

这将起作用


Excel有一个CSV导出选项。让你的用户使用它不可行吗?(只考虑工作强度最低的方式…)一个CSV文件只能包含一个数据表,因此不可能将一个包含多个表的XLS文件转换为一个CSV文件。当然可以,这是一个工作表。默认情况下,它将导出最后一个工作表。您甚至不提供指向IOFactory的链接!完美的谢谢你,拉贾特。考虑到xls/xlsx工作表中有多个选项卡,如何转换所有选项卡或特定选项卡,每个选项卡有一个csv文件?如何在上面设置export.csv save path2007而不转换为csvPHPExcel现在已被弃用:我得到了“致命错误:未捕获错误:类'PhpSpreadsheet\Reader\xlsx',知道为什么吗?你有没有包括require'vendor\autoload.php';现在是“PHPSReadSheet”。我设法找到了有关如何读写文件的以下详细信息:
<?php 

require 'vendor\autoload.php';

use \PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use \PhpOffice\PhpSpreadsheet\Writer\Csv;

$xls_file = "Example.xlsx";

$reader = new Xlsx();
$spreadsheet = $reader->load($xls_file);

$loadedSheetNames = $spreadsheet->getSheetNames();

$writer = new Csv($spreadsheet);

foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
    $writer->setSheetIndex($sheetIndex);
    $writer->save($loadedSheetName.'.csv');
}
<?php 
require 'vendor\autoload.php';
use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;

$writer = WriterEntityFactory::createCSVWriter();
$reader = ReaderEntityFactory::createXLSXReader();
$writer->openToFile("Output CSV path");
$reader->open("Input XSLX path");

foreach ($reader->getSheetIterator() as $sheet) {
   foreach ($sheet->getRowIterator() as $row) {
       $writer->addRow($row);
   }
}

$writer->close();
$reader->close();