Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+mysql] eksport do excela
Forum PHP.pl > Forum > Przedszkole
jajek
Witam,
Mam do zrobienia taki projekt bazy z obsługą z poziomu php i jest problem z eksportem wyniku zapytania do excela. Napisałem taką funkcję:

function export($sql)
{

$polaczenie= pol_mysql();
$wynik=mysql_query($sql);
$i=1;

$tablica_wyn=array();
$tablica_wyn[0][]=("numer inwentaryzacyjny");
$tablica_wyn[0][]=("nazwa produktu") ;
$tablica_wyn[0][]=("wartość") ;
$tablica_wyn[0][]=("charakterystyka");
$tablica_wyn[0][]=("lokalizacja");
$tablica_wyn[0][]= ("numer gwarancji");
$tablica_wyn[0][]= ("numer faktury");
$tablica_wyn[0][]= ("data zakupu");
$tablica_wyn[0][]= ("okres gwarancji");
$tablica_wyn[0][]= ("segregator");
$tablica_wyn[0][]= ("właściciel");
$tablica_wyn[0][]= ("nazwa serwisu");

while($wynik2=@mysql_fetch_array($wynik)){

$tablica_wyn[$i][]=$wynik2["nr_inwent"];
$tablica_wyn[$i][]=$wynik2["nazwa_produktu"];
$tablica_wyn[$i][]=$wynik2["wartosc"];
$tablica_wyn[$i][]=$wynik2["charakterystyka"];
$tablica_wyn[$i][]=$wynik2["lokalizacja"];
$tablica_wyn[$i][]=$wynik2["nr_gwarancji"];
$tablica_wyn[$i][]=$wynik2["nr_faktury"];
$tablica_wyn[$i][]=$wynik2["data_zakupu"];
$tablica_wyn[$i][]=$wynik2["okres_gwarancji"];
$tablica_wyn[$i][]=$wynik2["segregator"];
$tablica_wyn[$i][]=$wynik2["wlasciciel"];
$tablica_wyn[$i][]=$wynik2["nazwa_serwisu"];
$i++;
}



if($plik = fopen('moj_plik.xls', 'w')) // utworzenie pliku
echo "<br>PLIK ZOSTAŁ UTWORZONY ";
else
echo "BŁĄD tworzenia pliku ";


$nastepna_kolumna="\t";
$nastepny_wiersz="\n";





foreach ($tablica_wyn as $out=>$arr) {

foreach ($arr as $in=>$zm) {
$dane.="$zm $nastepna_kolumna ";
}
$dane.=" $nastepny_wiersz ";





}


fputs($plik, $dane);

fclose($plik);
print("<br><a href=\"http://www.link.waw.pl/moj_plik.xls\" target=\"_top\">pobierz plik z eksportem</a>");

}

I to nie działa dobrze do końca. Np. jako "numer inwentaryzacyjny" w excelu odczytywany jest czasem (jeśli jest) ciąg cyfr z pola "charakterystyka"

Jeśli ktoś wie o co chodzi bardzo proszę o pomoc, z góry dzięki. Nie wiem czy to dobry dział na takie pytanie
pzdr
wipo
Nie widzę za bardzo żebyś tworzył xls.
Proponuje zajrzeć w csv - będzie znacznie prościej
Saddam92
o generowaniu xls jest tutaj troche: http://php5.pl/php/generowanie_plikow_xls_...technologii_com ale z tego co zrozumiałem nie tu on ma problem tylko w "przeskakiwaniu" tablic...
spryciula
użyj takiego pliku:


  1. <?php
  2. $line1="IDtProducttColortSalest";
  3. $line2="1tPrintertGreyt13t";
  4. $line3="2tCDtBluet15t";
  5. $line4="3tDVDtRedt7t";
  6. $line5="4tMonitortGreent4t";
  7. $line6="5tTelephonetBlackt2t";
  8. $data="$line1n$line2n$line3n$line4n$line5n$line6n";
  9.  
  10. header("Content-type: application/x-msdownload");
  11. header("Content-Disposition: attachment; filename=extraction.xls");
  12. header("Pragma: no-cache");
  13. header("Expires: 0");
  14. echo "n".$data."n"; 
  15.  
  16. ?>
nospor
@spryciula
1) uzywaj bbcode!!!
2) co do header, to uzywasz zmiennej $header w print(). poco? przeciez ty tej zmiennje nigdzie nie dekalarujesz. a naglowki przy wykonywaniu header() same sie wysylaja
spryciula
jak tylko się nauczę używać bbcode, to bedę go stosował, natomiast co do wysyłania header, to masz rację nie trzeba go wysyłać
nospor
Cytat
co do wysyłania header, to masz rację nie trzeba go wysyłać
Ja tego nie powiedzialem. Header trzeba wysylac, nie trzeba wysylac zmiennej $header, ktorej nigdzie nie ma tongue.gif

Cytat
jak tylko się nauczę używać bbcode
Tu nie ma co sie uczyc. bbcode php:
  1. <?php
  2. $cos = 'cos';
  3. ?>


wiecej:
Temat: Tematyka i zasady panujace na forum Przedszkole
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.