2011-02-01 2 views
1

엑셀 파일의 일부 레코드를 반복하여 HTML 표의 표제로 출력해야하지만 PHP를 처음 사용하는 경우 가장 좋은 방법은 무엇인지 알 수 없습니다.엑셀 문서의 레코드를 반복하기

COUNTRY1, COUNTRY2, COUNTRY3 .... Country50에 이르기까지 :

각 열 제목은 그래서 인덱스 뒤에 제목으로 시작됩니다.

나는이 값을 검색하는 대신

$ 결과 = "$ COUNTRY1"에 충실하기보다 자동 방법을 가지고 싶습니다.;

들은 또한 그런 경우에는 인쇄 할 필요가 없도록 또한 다른 것은 즉 배열로 변환해야하는 국가의 ID를 포함해야합니다, 그래서 결과가 될 수

<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

이 실제 엑셀 파일이나 CSV는 파일? 그 파일을 읽는 방법을 알고 있습니까? 아니면 데이터를 HTML 테이블로 변환하는 데 도움이 필요합니까? 또한 ID가 필요한 이유를 설명하십시오. CSS 및 JavaScript없이 개별 노드에 액세스 할 수 있습니다. – Gordon

+0

답장을 보내 주셔서 감사합니다. 지금 Excel 파일을 읽는 것에 대해 걱정하지 마십시오. 레코드를 통해 데이터와 루프를 검색하는 빌린 스크립트를 사용하고 있습니다. html은 각 th에 대한 소스 코드 ID를 볼 필요가있는 개발자를 대상으로하기 때문에 ID가 필요합니다. – 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); 
} 
?>