php извлекает xls из URL в csv

Я хотел бы использовать php для получения файла xls, размещенного на сайте. Как только я получу файл, я хочу преобразовать его в json / csv / tsv и сохранить его на своем веб-сервере.

Я нашел библиотеку PHPExcel, но все примеры, которые я видел, имеют отношение к локальным файлам.

<?php

require_once('Classes/PHPExcel.php');

$url = "http://www.website-example.com/dir/file.xls";
//Usage:
convertXLStoCSV($url,'output.csv');

function convertXLStoCSV($infile,$outfile)
{

$fileType = PHPExcel_IOFactory::identify($infile);
$objReader = PHPExcel_IOFactory::createReader($fileType);

echo $infile;

$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($infile);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
$objWriter->save($outfile);
echo $outfile;
}

?>

-1

Решение

Скорее всего, вам понадобится загрузить копию файла XLS на ваш сервер, а затем использовать PHP для его анализа.

Используйте cURL (http://php.net/manual/en/book.curl.php) чтобы получить содержимое файла XLS:

<?php
// create curl resource
$ch = curl_init();

// set url
curl_setopt($ch, CURLOPT_URL, "somedomain.com/some-xls-file.xls");

//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// $output contains the output string
$xlsData= curl_exec($ch);

// close curl resource to free up system resources
curl_close($ch);
?>

Тогда либо труба $xlsData напрямую в PHPExcel или сохраните файл XLS на свой сервер с помощью fwrite (http://php.net/manual/en/function.fwrite.php):

<?php
$file = fopen($_SERVER['DOCUMENT_ROOT']. "/your-new-xls-file.xls", "w");
echo fwrite($file, $xlsData);
fclose($file);
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector