Сохранение таблицы PHPS xls - PullRequest
0 голосов
/ 04 октября 2018

Я должен сгенерировать и опубликовать файл xls на сервере с помощью curl.Я просто получаю свои данные из базы данных, создаю первую версию файла и сохраняю его на своем сервере, затем читаю и отправляю его через curl на удаленный сервер.

Видимо, у меня возникли некоторые проблемы спроверка этого файла на удаленном сервере, сценарий которого считывает столбец заголовка, который фактически не существует.

Открытие файла в Microsoft Excel, простое нажатие кнопки «Сохранить» и закрытие его, устраняет проблему, но не является доступной опцией.

Можете ли вы предложить что-то другое?Это мой код, генерирующий файл

$dataToExport = $this->db->getAll($query);
$savePath = '/path/to/my/server';
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->fromArray($dataToExport, NULL, 'A1');
$sheet->setTitle("Foglio1");
$writer = new Xls($spreadsheet);
$writer->save($savePath);
$cFile = curl_file_create($savePath);
$post = array('file_contents'=> $cFile);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
curl_setopt($ch, CURLOPT_URL,'http://www.url.to/remote/server');
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result=curl_exec ($ch);
curl_close ($ch);

1 Ответ

0 голосов
/ 15 мая 2019

Извините за время, но я думаю, что лучшее решение - это использовать tmpfile():

$temp = tmpfile();
fwrite($temp, $result);
fseek($temp, 0);
fclose($temp);

Это работает с библиотекой PHPSpreadSheet.Решение для следующих прибывающих сюда, потому что оно находилось на верхнем месте поиска PHPSpreadSheet.

Спасибо.

...