Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: csv:n käsittely ja tulostaminen

kayttaja-7440 [03.04.2008 11:09:52]

#

Moi.
Tarkoituksena on on tulostaa tietty rivi excel-taulukosta. Ilmeisesti helpointa on muuntaa excel taulukko csv:ksi ja käsitellä sitä sitten php:llä.
Csv:n lukeminen ja tulostaminen kokonaisuudessaan onnistuu helposti, täältä löydetyn ohjeen avulla. Mutta tarkoituksena on tosiaan tulostaa vain yksi tietty rivi? Olisiko vinkkejä kuinka tulisi edetä.
Oikea rivi haettaisiin muuttujan avulla, jonka sisältö vastaa excelin ensimmäisen sarakkeen solusta löytyvää tekstiä.

kayttaja-2791 [03.04.2008 13:46:20]

#

Käyt läpi csv:n rivit, ja tarkastat onko alussa haluamaasi merkkijonoa. Jos on niin tulostetaan, muuten ei. Tuossapa tuo pseudona. Jos ihan uusi olet PHP:ssä niin tiedoston rivit saat taulukkoon file -funktiolla, rivit voit käydä lävitse for-silmukalla ja tarkastuksen tietty tehdä if-lauseella ja merkkijonotarkistuksen substr-funktiolla. Noilla työkaluilla homman pitäisikin jo onnistua.

kayttaja-7440 [03.04.2008 14:53:47]

#

Joop, kiitoksia vaan, ihan pseudo tasolla tätä mietinkin.
Onnistuinkin nyt lukemaan, halutun merkkijonon löytyessä, rivin taulukkoon, josta tietoja onkin näppärä hypistellä. Lähinnä ongelmalliselta tuntui, kuinka csv:stä hahmottuu nuo rivit..

Tarvinnee tehdä vielä tedä automaatio excel taulukon kääntämiseksi CSV:ksi.
Vai onko sopiva tapa vaatia käyttäjältä kääntämistä CSV:ksi?

kayttaja-2791 [03.04.2008 15:28:15]

#

Riippuu ihan tarkoituksesta onko se sopivaa. Jos koodia tullaan käyttämään paljon, ajanee aikasäästö siinä ettei tarvitse exportata CSV:ksi lopulta sen aikamäärän ohitse mikä kooditason ratkaisun tekemiseen kuluu (siis että otat käyttöön PHP:lle sen konvertterin että se tehtäisiin automaattisesti).

hauki [04.04.2008 12:57:04]

#

Ite tein vähän aikaa sitten tällästä. Sellanen bugi on että tekeen loppuun yhen turhan solun. mutta idea kuitenkin on, että jos missä tahansa kohdassa tiedostoa on "tägi" taulukko ja taulukko_loppuu,niin siltä väliltä luodaan taulukko. Jos joku innostuu parantelemaan tätä niin laittakaa tänne näkyviin.

function tulostacsv($taulu)
    {
    		$taulu="<table><tr><td>{$taulu[1]}</table>";
		$taulu=str_replace("<br />","</td></tr><tr><td>", $taulu);
		$taulu=str_replace(";","</td><td>", $taulu);
		return $taulu;

		}
$data = file_get_contents("tiedosto.htm");
$data= nl2br($data);
$data = str_replace("\n","", $data);
$data = preg_replace_callback ("/taulukko:(.*?)taulukko_loppuu/i","tulostacsv", $data);

Vastaus

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

Tietoa sivustosta