Excel mit PHP generieren

This is a discussion on Excel mit PHP generieren within the Verwendung von PHP mit Datenbanken (de.comp.lang.php.datenbanken) forum.

Excel mit PHP generieren

Postby =?ISO-8859-15?Q?G=FCnter_Baier?= on Fri Nov 21, 2008 9:58 am

Hallo,

ich erstelle mit PHP und einer DB-ABfrage eine Excel-Datei.
Problem wie meistens bei Strings: Annführungsstriche und
Sonderzeichen.

Per Addslashses bekomme ich die Daten zumindest alle in die
Export-Datei - da aber eben auch nur mit dem "\" vor den
entsprechenden Stellen, logisch.

Die Daten liegen im UTF-8 vor - ein simples utf8_decode bzw.
ein ICONV() macht die Sonderzeichen zwar lesbar, allerdings schützt es
nicht vor den Fallstricken bei " oder '

Vor allem, wenn in einer Zelle ein nicht geschlossenes " dabei ist,
dann, zerschiesst es die Export-Tabelle sehr deutlich.

Wie kann ich denn sonst den String so wie er ist mit allen Zeichen in
die Export-Datei bekommen?

Danke

Günter
=?ISO-8859-15?Q?G=FCnter_Baier?=
 
Posts: 8
Joined: Sun May 18, 2008 2:11 pm

Re: Excel mit PHP generieren

Postby Joerg Behrens on Fri Nov 21, 2008 4:15 pm

Günter Baier schrieb:
> Hallo,
>
> ich erstelle mit PHP und einer DB-ABfrage eine Excel-Datei.
> Problem wie meistens bei Strings: Annführungsstriche und
> Sonderzeichen.

Erzeugst du eine Excel oder eine CSV 'like' Datei?

Gruss
Joerg
Joerg Behrens
 
Posts: 1055
Joined: Fri Aug 29, 2003 5:39 am

Re: Excel mit PHP generieren

Postby =?ISO-8859-15?Q?G=FCnter_Baier?= on Fri Nov 21, 2008 4:26 pm

Joerg Behrens schrieb:
> Günter Baier schrieb:
>> Hallo,
>>
>> ich erstelle mit PHP und einer DB-ABfrage eine Excel-Datei.
>> Problem wie meistens bei Strings: Annführungsstriche und
>> Sonderzeichen.
>
> Erzeugst du eine Excel oder eine CSV 'like' Datei?
>
> Gruss
> Joerg


eher CSV mit \t voneinander getrennten Feldern.

Als Header verwende ich:

header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: inline; filename=\"export.xls\"");


Günter
=?ISO-8859-15?Q?G=FCnter_Baier?=
 
Posts: 8
Joined: Sun May 18, 2008 2:11 pm

Re: Excel mit PHP generieren

Postby Christoph Herrmann on Fri Nov 21, 2008 4:29 pm

Günter Baier schrieb:
> Als Header verwende ich:
>
> header("Content-Type: application/vnd.ms-excel");
> header("Content-Disposition: inline; filename=\"export.xls\"");

Wenn es CSV Format ist, würde ich es auch als solches speichern.

--
Mit freundlichen Grüßen,
Christoph Herrmann

http://dragonprojects.de/
Christoph Herrmann
 
Posts: 1017
Joined: Wed Sep 05, 2007 3:27 pm

Re: Excel mit PHP generieren

Postby =?ISO-8859-15?Q?G=FCnter_Baier?= on Fri Nov 21, 2008 4:38 pm

Christoph Herrmann schrieb:
> Günter Baier schrieb:
>> Als Header verwende ich:
>>
>> header("Content-Type: application/vnd.ms-excel");
>> header("Content-Disposition: inline; filename=\"export.xls\"");
>
> Wenn es CSV Format ist, würde ich es auch als solches speichern.
>

Hat aber den gleichen Effekt, escapte Zeichen bleiben mit einem \ davor


GÜnter
=?ISO-8859-15?Q?G=FCnter_Baier?=
 
Posts: 8
Joined: Sun May 18, 2008 2:11 pm

Re: Excel mit PHP generieren

Postby Joerg Behrens on Sat Nov 22, 2008 3:14 am

Günter Baier schrieb:
> Joerg Behrens schrieb:
>> Günter Baier schrieb:
>>> Hallo,
>>>
>>> ich erstelle mit PHP und einer DB-ABfrage eine Excel-Datei.
>>> Problem wie meistens bei Strings: Annführungsstriche und
>>> Sonderzeichen.
>> Erzeugst du eine Excel oder eine CSV 'like' Datei?
>>
>> Gruss
>> Joerg
>
>
> eher CSV mit \t voneinander getrennten Feldern.

Warum nicht die ExcelWriter Klasse benutzen?

Gruss
Joerg
Joerg Behrens
 
Posts: 1055
Joined: Fri Aug 29, 2003 5:39 am

Re: Excel mit PHP generieren

Postby Gregor Kofler on Sun Nov 23, 2008 3:11 pm

Günter Baier meinte:
> Hallo,
>
> ich erstelle mit PHP und einer DB-ABfrage eine Excel-Datei.
> Problem wie meistens bei Strings: Annführungsstriche und
> Sonderzeichen.
>
> Per Addslashses bekomme ich die Daten zumindest alle in die
> Export-Datei - da aber eben auch nur mit dem "\" vor den
> entsprechenden Stellen, logisch.
>
> Die Daten liegen im UTF-8 vor - ein simples utf8_decode bzw.
> ein ICONV() macht die Sonderzeichen zwar lesbar, allerdings schützt es
> nicht vor den Fallstricken bei " oder '
>
> Vor allem, wenn in einer Zelle ein nicht geschlossenes " dabei ist,
> dann, zerschiesst es die Export-Tabelle sehr deutlich.
>
> Wie kann ich denn sonst den String so wie er ist mit allen Zeichen in
> die Export-Datei bekommen?

Wie generierst du deine CSV-Datei? Mit fputcsv()? Damit sollte sich
obiges Problem "automatisch" erledigen.

Gregor
Gregor Kofler
 
Posts: 617
Joined: Sun Aug 26, 2007 7:58 am

Re: Excel mit PHP generieren

Postby Gregor Kofler on Sun Nov 23, 2008 3:14 pm

Joerg Behrens meinte:
> Günter Baier schrieb:
>> Joerg Behrens schrieb:
>>> Günter Baier schrieb:
>>>> Hallo,
>>>>
>>>> ich erstelle mit PHP und einer DB-ABfrage eine Excel-Datei.
>>>> Problem wie meistens bei Strings: Annführungsstriche und
>>>> Sonderzeichen.
>>> Erzeugst du eine Excel oder eine CSV 'like' Datei?
>>>
>>> Gruss
>>> Joerg
>>
>>
>> eher CSV mit \t voneinander getrennten Feldern.
>
> Warum nicht die ExcelWriter Klasse benutzen?

Zum Generieren einer CSV-Datei? Dafür sollten 5 Zeilen Code und
fputcsv()[1] wohl reichen.

Gregor

[1]
http://at.php.net/fputcsv
Gregor Kofler
 
Posts: 617
Joined: Sun Aug 26, 2007 7:58 am

Re: Excel mit PHP generieren

Postby Konni Scheller on Sun Nov 23, 2008 4:24 pm

Gregor Kofler wrote:

> Zum Generieren einer CSV-Datei? Dafür sollten 5 Zeilen Code und
> fputcsv()[1] wohl reichen.

Was aber, wenn ich die CSV-Daten gleich übern Browser zum Download
anbieten will, ohne ein File zu schreiben? (*)

Seltsam, dass es da keine Funktion gibt. Oder sehe ich den Wald vor
lauter Bäumen nicht?

Servus,
Konni

(*) header senden ist klar; das Problem ist nur, dass ich kein File
will.
--
Silvestermenü und scharfes Silvesterbüffet - test the ox-effect
Konni Scheller
 
Posts: 285
Joined: Tue Jun 01, 2004 5:33 am

Re: Excel mit PHP generieren

Postby Claus Reibenstein on Mon Nov 24, 2008 12:55 am

Konni Scheller schrieb:

> Was aber, wenn ich die CSV-Daten gleich übern Browser zum Download
> anbieten will, ohne ein File zu schreiben? (*)

STDOUT

Gruß. Claus
Claus Reibenstein
 
Posts: 1212
Joined: Wed Jun 06, 2007 10:18 am

Next

Return to Verwendung von PHP mit Datenbanken (de.comp.lang.php.datenbanken)

Who is online

Users browsing this forum: No registered users and 0 guests

cron