AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Excel-Datei erzeugen

Offene Frage von "omata"
Ein Thema von Chrissi91 · begonnen am 31. Dez 2009 · letzter Beitrag vom 24. Mai 2011
Antwort Antwort
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#1

[PHP] Excel-Datei erzeugen

  Alt 31. Dez 2009, 21:38
Ich versuche über ein PHP-Script eine Excel-Datei dynamisch zu erstellen. Klappt auch prima:

Code:
header("Content-type: application/vnd-ms-excel");
header("Content-Disposition: attachment; filename=export.xls");
Den Inhalt packe ich in eine Tabelle, d.h. ich arbeite nur mit <table>, <tr>, <th>, <td> und den entsprechenden schließenden Tags.

Mein Problem ist aber, dass ich beim Öffnen der Excel-Datei folgende Warnung bekomme:

Sie versuchen eine Datei zu öffnen, 'export.xls', deren Format von dem in der Dateierweiterung angegebenen abweicht. Stellen Sie sicher, dass die Datei nicht beschädigt ist und aus einer vertrauenswürdigen Quelle stammt, bevor Sie die Datei öffnen. Möchten Sie die Datei jetzt öffnen? "Ja", "Nein", "Hilfe"

Ich habe daraufhin etliche Schreibweisen für den Content-type ausprobiert, da im Internet eine Vielzahl von Möglichkeiten kursiert, aber der Fehler ist nicht verschwunden. Dargestellt wird die Datei richtig, aber ich will den Internetusern den Fehler ersparen.

Was tun?

P.S.: Euch allen einen guten Rutsch
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [PHP] Excel-Datei erzeugen

  Alt 31. Dez 2009, 21:55
Hallo,

erstellst du wirklich eine Excel-Datei oder ist es evtl. eine CSV?
Wenn du die Datei aus einer HTML-Tabelle zusammen bastelst, wäre CSV sinnvoller. Das kann Excel öffnen, aber auch zahlreiche andere Programme.

Grüße, Matze
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#3

Re: [PHP] Excel-Datei erzeugen

  Alt 31. Dez 2009, 22:01
Einen CSV-Download biete ich u.a. auch an. Da klappt es wunderbar (ein Editor meckert beim Öffnen auch nicht rum ).

Ich würde schon gerne eine xls-Datei erzeugen, eine csv habe ich wie gesagt schon ...

Deine Frage, ob ich auch wirklich eine Excel-Datei erstellen würde, verstehe ich nicht. Außer dem Header und echo's mit <table><tr><td>... steht nichts drin.
  Mit Zitat antworten Zitat
fatalerror
(Gast)

n/a Beiträge
 
#4

Re: [PHP] Excel-Datei erzeugen

  Alt 31. Dez 2009, 22:19
Zitat von Chrissi91:
Deine Frage, ob ich auch wirklich eine Excel-Datei erstellen würde, verstehe ich nicht. Außer dem Header und echo's mit <table><tr><td>... steht nichts drin.
Es genügt nicht einfach im Header anzugeben, dass es eine Excel Datei sei, du musst die Daten schon auch so aufbereiten. So wie ich deinen Text interpretiere, exportierst du html und nicht xls.

Ein Tutorial findest du zb hier
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: [PHP] Excel-Datei erzeugen

  Alt 31. Dez 2009, 22:28
Jupp genau, da reicht es nicht, den Header zu senden.
Aber wenn du nur eine Excel-Datei haben willst, damit du sagen kannst "ich kann als xls exportieren", ist das eigentlich weniger sinnvoll, wenn in der CSV genau das gleiche enthalten ist.
Aber das musst du natürlich wissen.
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#6

Re: [PHP] Excel-Datei erzeugen

  Alt 31. Dez 2009, 23:23
Jetzt wo ich noch mal recherchiert habe, steht es überall, dass es so einfach nicht geht. Komisch, dass ich das damals nicht gelesen habe.

Die Möglichkeit mit einem Windows-Server scheidet aus und der Link von fatalerror weist auf ein Tutorial bei dem es bei den Meisten Probleme gibt. Selbst das Beispiel des Programmierers der Klasse funktioniert bei mir nicht.

Sieht wohl so aus, als müssen sich die User mit der blöden Fehlermeldung abgeben.
  Mit Zitat antworten Zitat
Benutzerbild von Alien426
Alien426

Registriert seit: 21. Dez 2005
146 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: [PHP] Excel-Datei erzeugen

  Alt 1. Jan 2010, 02:16
Benutze doch das Spreadsheet Writer-Paket von Pear. Damit kannst du sehr viel anstellen, was Excel kann. Farben, Dimensionen, Sichtbarkeit, Rahmen, Schriftformatierung... ach ja, und Formeln!
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: [PHP] Excel-Datei erzeugen

  Alt 24. Mai 2011, 21:30
Oder ein aktuelleres Projekt (für das neue Format xlsx) siehe hier
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz