PHP-XLSX到CSV添加空格
我在将xlsx文件转换为csv文件时遇到问题,在每个符号后都会出现广告空间 xlsx文件: CSV文件结果: 代码:PHP-XLSX到CSV添加空格,php,csv,phpexcel,xlsx,Php,Csv,Phpexcel,Xlsx,我在将xlsx文件转换为csv文件时遇到问题,在每个符号后都会出现广告空间 xlsx文件: CSV文件结果: 代码: if (file_exists('temp.xlsx')) { require_once('Classes\PHPExcel.php'); $TypeFile="Excel2007"; $FilePath= "temp.xlsx"; $objReader = PHPExcel_IOFactory::createReader($Typ
if (file_exists('temp.xlsx')) {
require_once('Classes\PHPExcel.php');
$TypeFile="Excel2007";
$FilePath= "temp.xlsx";
$objReader = PHPExcel_IOFactory::createReader($TypeFile);
$objReader->setReadDataOnly(true);
$objExcel = $objReader->load($FilePath);
$objCSV = PHPExcel_IOFactory::createWriter($objExcel, 'CSV');
$objCSV->setPreCalculateFormulas(false);
$objCSV->setDelimiter(',');
$objCSV->setEnclosure('"');
$objCSV->save('prf.csv');
}
如何防止所有这些随机空间出现
编辑
一切都在一条线上
编辑2
这解决了我的问题。感谢Mark Baker这真的是OfficeOpenXML xlsx文件吗?这是我在PHPExcel工作超过10年以来从未遇到过的事情。听起来好像有些地方没有使用正确的charset.temp.xlsx是其他CSV文件的结果,该文件使用PHPEXceli转换。如果PHPExcel将这些空间放入CSV文件中,那么这些空间已经存在。。。。。。开源的美妙之处在于,您可以查看CSV编写器并亲自了解它在做什么使用PHP内置的fgetcsv()函数逐行读取文件,使用PHP内置的fputcsv()函数逐行写入文件。。。。使用PHPExcel进行类似操作就像使用大锤打开pickle jar
$fi=fopen('myFile.tsv','r')$fo=fopen('myFile.csv','w');while(($data=fgetcsv($fi,0,“\t”))!==false){fputcsv($fo,$data);}fclose($fi);fclose(fo美元)代码>
$fi = fopen('myFile.csv', 'r');
$fo = fopen('myFilenew.csv', 'w');
while (($data = fgetcsv($fi, 0, "\t")) !== false) {
array_walk($data, function(&$value) {$value = preg_replace('/[^\P{C}\n]+/u', '', $value);});
fputcsv($fo, $data);
}
fclose($fi);
fclose($fo);