Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem przy eskoprcie
Forum PHP.pl > Forum > Przedszkole
Kamils2
Witam
Mam nastepujacy kodzik

  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. header("Content-type: application/vnd.ms-excel");
  4. header("Content-Disposition: attachment;Filename=zestawienie.xls");
  5. echo 'Data otrzymania' . "\t" . 'Numer faktury' . "\t" . 'Nazwa' . "\t" . 'NIP' . "\t" . 'REGON' ."\t" . 'Numer rachunku' . "\t" . 'Numer zamówienia' ."\t" . 'Termin płatności' ."\t" . 'Data wystawienia' ."\t" . 'Data sprzedaży' ."\t" . 'Kwota netto' ."\t" . 'Kwota VAT' ."\t" . 'Kwota brutto' ."\t" . 'Waluta' ."\t" . 'Numer umowy' ."\t" . 'Załączniki' ."\n";
  6. #include("template1.php");
  7. if ($handle = opendir('./data/BuforImport/OK/')) {
  8. $blacklist = array('.', '..', 'somedir', 'somefile.php','testy');
  9. while (false !== ($file = readdir($handle))) {
  10. if (!in_array($file, $blacklist)) {
  11. $xml=simplexml_load_file("./data/BuforImport/OK/".$file."/".$file.".xml");
  12. $netto=strtr ($xml->KwotaNetto, array ('.' => ','));;
  13. $vat=strtr ($xml->KwotaVAT, array ('.' => ','));;
  14. $brutto=strtr ($xml->KwotaBrutto, array ('.' => ','));;
  15. echo''.date ("d.m.Y H:i:s", filemtime("./data/BuforImport/OK/".$file)).' ' . "\t" . ''.$xml->NumerFaktury.' ' . "\t" . ''.$xml->Nazwa.' / '.$file.' ' . "\t" . ''.$xml->NIP.' ' . "\t" . ''.$xml->REGON.' ' . "\t" . ''.$xml->NumerRachunkubankowego.' ' . "\t" . ''.$xml->NumerZamowienia.' ' . "\t" . ''.$xml->TerminPlatnosci.' ' . "\t" . ''.$xml->DataWystawienia.' ' . "\t" . ''.$xml->DataSprzedazy.' ' . "\t" . ''.$xml->KwotaNetto.' ' . "\t" . ''.$xml->KwotaVAT.' ' . "\t" . ''.$xml->KwotaBrutto.' ' . "\t" . ''.$xml->Waluta.' ' . "\t" . ''.$xml->NumerUmowy.' ' . "\n" . '';
  16. }
  17. }
  18. }
  19. closedir($handle);
  20. ?>


Jest to skrypt ktory czyta katalogi , (katalog z efakturami) i tam sa pliczki xml. Wczytuje taki plik i przygotowywuje do exportu do pliku .xls (Excel)
Wszystko dziala jedna potrzebuje zastosowac trick mam trzy pola, KwotaNetto KwotaVAT KwotaBrutto. Sa one np w takim formacie 1023.55 a ja zamiast kropki potrzebuje przecinek w cenie. Czyli zamiast 1023.55 potrzbuje miec 1023,55 i zrobilem to poniewaz jest to proste uzywam do tego kodu o takiego

  1. $vat=strtr ($xml->KwotaVAT, array ('.' => ','));;


Powiem wiecej to dziala poniewaz na czysto na www kropka zamienia sie w przecinek.
Problem jest taki ze przy eskoprcie do xls kwota 1023,55 nie wyswietla sie w jednej komorce pliku tylko jest tak "1023 -> nastepna komorka -> 55" czyli przecinek powoduje przejscie do nastepnej kolumny.

Czy ktos wie moze jak to obejsc bo szczerze mowiac nie mam pomsylu.
W pliku nie ma takze polskich znakow ale to juz mniejszy problem.

Pozdrawiam Kamil
ghost1511
A myślałeś może o użyciu gotowej biblioteki do obługi xls? Ja polecam. Wdrożenie zajmie chwilę, a sporo mniej nerwów stracisz smile.gif
https://github.com/PHPOffice/PHPExcel
Kamils2
Wiecie co nie chce uzywac biblioteki do wdrozenia takiego jednego malego zestawienia ... w intranecie firmowych ktory teraz tworze juz bede uzywal biblioteki bo tam bedzie w kij tych zastawien a tutaj chcaialem sie obejsc bez jesli sie dua
Turson
Równie dobrze możesz użyć zwykłej tabelki HTML, ona zostanie przekonwertowana do Excela
Kamils2
faktycznie tabelki daja rade smile.gif) dzieki wielkie chlopaki za pomoc PL znaki tez juz udalo mi sie ogarnac
temacik do zamkniecia i jeszcze raz dzieki za pomoc - udanego weekendu
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.