Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: CSV-taulukon näyttäminen

Antti Laaksonen [02.10.2002 18:15:06]

#

CSV- eli "Comma Separated Values" -tiedostot sisältävät taulukkomuotoista tietoa mahdollisimman yksinkertaisessa muodossa, yleensä pilkuilla tai puolipisteillä erotettuna. Tämä PHP-skripti näyttää tällaisen tiedoston taulukossa, riippumatta sen sarake- tai rivimäärästä. Excel osaa tallentaa oikeanmuotoisia CSV-tiedostoja taulukoista, joten tämä on myös näppärä tapa muuttaa Excel-taulukot HTML-muotoon.

naytacsv.php

<html><body>
<?php
/* Funktio luo taulukon csv-tiedostosta. Taulukossa voi olla
kuinka monta saraketta ja riviä tahansa. Ensimmäisen rivin tulee
sisältää sarakkeiden otsikot ja se näytetään lihavoituna. */
function tulostacsv($tiedosto,$e)
	{
	$d=file($tiedosto);
	$o=explode($e,$d[0]);
	echo "<table width=100%>";
	echo "<tr>";
	for ($j=0;$j<count($o);$j++)
		{
		echo "<td><b>".$o[$j]."</b></td>";
		}
	echo "</tr>";
	for ($i=1;$i<count($d);$i++)
		{
		$o=explode($e,$d[$i]);
		echo "<tr>";
		for ($j=0;$j<count($o);$j++)
			{
			echo "<td>".$o[$j]."</td>";
			}
		echo "</tr>";
		}
	echo "</table>";
	}

tulostacsv("ilma.csv",";");

?>
</body></html>

ilma.csv (esimerkkitiedosto)

Aine;Osuus
typpi;78%
happi;20%
argon;0,9%
muut;0,1%

progo [05.10.2002 12:13:40]

#

Ihan käytettävä, ellei sitten ole jo liiaksi asti esitettäviä tietoja, mutta tämä on hyvä kevyt kenttämalli :)

Nuunuu [05.10.2002 19:05:48]

#

Tämähän on erittäin hyödyllinen.
Olen itse suunnittelemassa vastaavan tekoa, jolla saan tulostettua seurani kilpailuiden tulokset.

Jake [02.07.2003 09:56:30]

#

saisikos tuohon määriteltyä noiden sarakkeiden leveyksiä ??

talle [21.11.2003 15:13:44]

#

Hyvä sovellus!
Muuntaa mukavasti isonkin exel-talukon html:ksi. Kokeilin täkäläisen matrikkelin (tekeillä) nimilistalla.
Sarakkeiden leveys säätyy säätämällä table sopivaksi...
http://www.petajavesi.net/csv/matrikkelinimet.php

Short Php [02.04.2008 18:54:35]

#

Jake kirjoitti:

saisikos tuohon määriteltyä noiden sarakkeiden leveyksiä ??

Oon vähän myöhässä :D

echo "<td><b>".$o[$j]."</b></td>"; => echo "<td style=\"width: 5px;\"><b>".$o[$j]."</b></td>";

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta