У меня проблема с преобразованием файла xlsx в csv — он рекламирует пробелы после каждого символа.
КОД:
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
$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);
Это решило мою проблему. Благодаря Марку Бейкеру
Других решений пока нет …