Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php+mysql] eksport do excela
jajek
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 8.12.2006

Ostrzeżenie: (0%)
-----


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

Ten post edytował jajek 8.12.2006, 10:56:26
Go to the top of the page
+Quote Post
wipo
post
Post #2





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

Ostrzeżenie: (0%)
-----


Nie widzę za bardzo żebyś tworzył xls.
Proponuje zajrzeć w csv - będzie znacznie prościej


--------------------
Go to the top of the page
+Quote Post
Saddam92
post
Post #3





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 17.11.2006

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post
spryciula
post
Post #4





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 9.12.2006

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował spryciula 9.12.2006, 15:46:58
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
spryciula
post
Post #6





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 9.12.2006

Ostrzeżenie: (0%)
-----


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ć
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 02:51