2011-02-01 2 views
1

Мне нужно прокрутить некоторые записи в файле excel и вывести их как заголовки для таблицы HTML, но я не знаю, что является лучшим подходом, поскольку я новичок в PHP.Цитирование по записям в документе excel

Каждый заголовки столбцов начинается как заголовок и индекс, так что вы имеете:

стране1 COUNTRY2, COUNTRY3 .... до Country50.

Я хотел бы иметь более автоматический способ для получения этих значений, а не прилипать к

$ результат = «$ стране1».

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

<th id="Country1">Value of Country1</th> 
<th id="Country2">Value of Country2</th> 
<th id="Country3">Value of Country3</th> 
<th id="Country8">Value of Country8</th> 
<th id="Country24">Value of Country24</th> 
<th id="Country30">Value of Country30</th> 

Каков наилучший подход «кодового света» для этого?

С уважением!

+0

Является ли это реальный файл Excel или CSV файл размером? Вы знаете, как читать в этом файле? Или вам просто нужна помощь в преобразовании данных в таблицу HTML? Также, пожалуйста, объясните, почему у вас должны быть идентификаторы. Вы можете получить доступ к отдельным узлам с помощью CSS и JavaScript без них. – Gordon

+0

Спасибо за ваш ответ Гордон. Не беспокойтесь о чтении файла Excel на данный момент. Я использую заимствованный скрипт, который извлекает данные и перебирает их через запись. Мне нужен идентификатор, потому что html нацелен на разработчика, который должен будет видеть идентификатор исходного кода для каждого th. – Cigana

ответ

0

что-то подобное должно работать:

<?php 
$handle = @fopen("/tmp/myfile.csv", "r"); 
if ($handle) { 

    // first line should be the header, we make it an array of strings 
    if (($buffer = fgets($handle, 4096)) !== false) 
     $headers[] = explode(",", $buffer); 
    else 
     echo "Error: empty file...\n"; 

    // second line should be the values, for each line we output the xml markups 
    while (($buffer = fgets($handle, 4096)) !== false) 
    { 
     $values[] = explode(",", $buffer); 

     if(count($headers) != count(values)) 
      echo "Error: the 2 lines do not have same number of columns...\n"; 
     else 
     { 
      for($i = 0 ; $i < count($headers) ; $i++) 
       echo "<th id='".$headers[$i]."'>".$values[$i]."</th>\n"; 
     } 
    } 
    else 
     echo "Error: second line empty...\n"; 

    if (!feof($handle)) 
     echo "Erreur: fgets() failed...\n"; 

    fclose($handle); 
} 
?> 
Смежные вопросы