Из файла excel на страницу сайта.

ram222

Da Vinci
Регистрация
27 Апр 2009
Сообщения
793
Реакции
86
Требуется автоматом из документов excel вставлять данные на определённые страницы.
То есть я загружаю папку с документами в папку на сайте, а на страницах появлялись данные из этих документов.
Возможно ли такое?
 
Да возможно, достаточно три метода/модуля реализовать:
- проверка папки на наличие новых файлов (поставить на крон);
- парсниг excel и проверка данных на валидность;
- добавление данных в БД сайта.
 
Нашёл куски кода которые в принципе делают то что мне нужно, немного переделал их.
Вот как их связать теперь?
Например:
Этот находит файлы xls в папке ram:
PHP:
<?php
$arr = scandir('ram/');
$count = count($arr);
if(!empty($count)) {
  $status = false;
  $text = '';
  for($i = 0; $i < $count; $i++) {
    if(substr($arr[$i], -4) == '.xls') {
      $status = true;
      $text .=$arr[$i];
    }
  }
}
if($status)
  echo $text; //echo '<select name="files">', $text, '</select>';
else
  echo 'Файлов с расширением xls не найдено';
?>
Этот выводит данные из документа xls:
PHP:
<?php
require_once ('Excel/reader.php');

$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');
$data->read('Дилер.xls');  

echo "<table>";
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
  echo '<tr border=1>';
  for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
    echo '<td>'.$data->sheets[0]['cells'][$i][$j].'</td>';
  }
  echo '</tr>';
}
echo '</table>';
?>
Есть ещё код записи данных из документа в базу.
Как их связать, чтобы все найденные документы обработались по очереди, записались в базу ?

Или как вообще применить какой то код (функцию) ко всем файлам в папке?
ЗЫ. Изучаю потихоньку php, но хочется быстрее, потому как "Начальству - вынь да положь" , надо всё и сразу, а платить за Битрикс например, туеву хучу денег не хочет никто. Да и то , не факт что всё там устроит.
 
Последнее редактирование модератором:
Если нужно много и сразу не мучайте себя закажите на бирже обойдется не более 30$ а если помучить нервы то и 10$ откупитесь...

А вообще если ничего не напутал ибо не тестил то как то так

PHP:
require_once ('Excel/reader.php'); // подключаем либу для работы с XLS
$data = new Spreadsheet_Excel_Reader(); // инициализируем её

// создаем функцию для конвертирования. на входе путь к файлу на выходе html
function output_xls($file)
{
    global $data;
    $data->setOutputEncoding('CP1251');
    $data->read($file);


    $out = "<table>";
    for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
        $out .= '<tr border=1>';
        for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
            $out .= '<td>' . $data->sheets[0]['cells'][$i][$j] . '</td>';
        }
        $out .= '</tr>';
    }
    $out .= '</table>';
    return $out;
}

// сканируем указаную папку и вносим все имена файлов в масив
$xls_files = scandir('ram/');
foreach ($xls_files as $file) // обходим масив по порядку
    if (substr($file, -4) == '.xls') { // проверяем расширение в имени файла
        echo $tmp = output_xls($file); // вызываем функцию конвертирования
        echo '<hr>';
      // В этой области крутите скрипт записи данных.
    }
 
Назад
Сверху