Toon posts:

[HTML] html in excel via content type application/csv

Pagina: 1
Acties:
  • 927 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Het volgende is het geval, we hebben een applicatie ontwikkeld waar de gebruiker in een web interface een report kan genereren. Dit report bestaat dus uit HTML code. In het geval dat de gebruiker het in de browser wil zien genereert de pagina een content type "text/html" In het geval dat de gebruiker het in Excel wil zien genereert de pagina een content type application/csv.

In dit laatste geval zal Windows netjes Excel openen en laat de file's zien in Excel. Dit gaat allemaal goed met Excel 2000 echter zodra de gebruiker office 2003 gebruikt ziet hij in plaats van een nette weergave van de gegevens alleen HTML code in de excel file.

Iemand enig idee of ervaring met dit soort zaken van web naar excel met Excel 2003?

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

Controleer even of je applicatie wel de goeie uitvoer geeft gezien het feit dat excel html laat zien

Nu met Land Rover Series 3 en Defender 90


Verwijderd

Topicstarter
MTWZZ schreef op donderdag 12 oktober 2006 @ 16:24:
Controleer even of je applicatie wel de goeie uitvoer geeft gezien het feit dat excel html laat zien
Yep er is niks mis met de code. In excel 200 gaat het gewoon goed en alleen onder excel 2003 gaat het mis. Ik heb hem ook door een HTML checker gehaald en alles klopt wat output code betreft.......

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

Verwijderd schreef op donderdag 12 oktober 2006 @ 16:27:
Yep er is niks mis met de code. In excel 200 gaat het gewoon goed en alleen onder excel 2003 gaat het mis. Ik heb hem ook door een HTML checker gehaald en alles klopt wat output code betreft.......
En MIME type gaat ook goed? Heb je mayb een demo online?

Nu met Land Rover Series 3 en Defender 90


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:34

crisp

Devver

Pixelated

HTML:
1
2
3
4
5
6
7
<table>
  <tr>
    <td>foo</td>
    <td>bar</td>
    <td>woei</td>
  </tr>
</table>

CSV:
code:
1
"foo","bar","woei"

daar zit toch wel wat verschil in; dat Excel 2000 een HTML-table omzet en de waarden uit de td's laat zien in afzonderlijke cellen ongeacht dat je dmv mimetype hebt opgegeven dat het een CSV-formaat zou zijn is een bug te noemen die ws in Excel 2003 gefixed is ;)

Intentionally left blank


  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Waarom niet outputten als application/.xls (het juste mime-format dus)?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:34

crisp

Devver

Pixelated

moozzuzz schreef op donderdag 12 oktober 2006 @ 17:50:
Waarom niet outputten als application/.xls (het juste mime-format dus)?
Nee, het is HTML dus elke andere mimetype opgeven is gewoon fout. Je moet gewoon zorgen dat je output ook is wat je zegt dat het is, dus in het geval van CSV geen HTML opsturen maar data in CSV-formaat.

Intentionally left blank


  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Probeer anders es een xls-doc op te slaan als html-doc. Dan zie je de gewenste XLS-structuur.

Verwijderd

Topicstarter
crisp schreef op donderdag 12 oktober 2006 @ 16:35:
HTML:
1
2
3
4
5
6
7
<table>
  <tr>
    <td>foo</td>
    <td>bar</td>
    <td>woei</td>
  </tr>
</table>

CSV:
code:
1
"foo","bar","woei"

daar zit toch wel wat verschil in; dat Excel 2000 een HTML-table omzet en de waarden uit de td's laat zien in afzonderlijke cellen ongeacht dat je dmv mimetype hebt opgegeven dat het een CSV-formaat zou zijn is een bug te noemen die ws in Excel 2003 gefixed is ;)
Lekkere fix dan ;-)

Verwijderd

crisp schreef op donderdag 12 oktober 2006 @ 17:56:
[...]

Nee, het is HTML dus elke andere mimetype opgeven is gewoon fout. Je moet gewoon zorgen dat je output ook is wat je zegt dat het is, dus in het geval van CSV geen HTML opsturen maar data in CSV-formaat.
Dat zal best kloppen alleen is de oplossing wel een werkende die in 2 seconden toegevoegd is....

  • user109731
  • Registratie: Maart 2004
  • Niet online
Verwijderd schreef op donderdag 19 oktober 2006 @ 17:22:
[...]


Dat zal best kloppen alleen is de oplossing wel een werkende die in 2 seconden toegevoegd is....
Dat is geen oplossing, maar een hack. Nogal een verschil imho :)

Verwijderd

Grote prutser schreef op donderdag 19 oktober 2006 @ 17:36:
[...]

Dat is geen oplossing, maar een hack. Nogal een verschil imho :)
Ik hack niks, ik maak gebruik van een excel functie: excel snapt een html-tabel.

  • user109731
  • Registratie: Maart 2004
  • Niet online
Verwijderd schreef op donderdag 19 oktober 2006 @ 17:38:
[...]


Ik hack niks, ik maak gebruik van een excel functie: excel snapt een html-tabel.
Zoals crisp al aangeeft: stuur de goede mime-type mee met je content. application/xls is niet het goede mime-type voor html, als je die ervoor wilt misbruiken: okee, maar het is en blijft fout :)

Excel snapt een html-tabel, maar blijkbaar niet meer als die binnenkomt met mime-type application/csv. Misschien nu nog wel met application/xls, maar wat als dat aangepast word?
Dan krijg je situaties als de TS: excel 2000 accepteert wel html-data met mimetype application/csv. Excel 2003 niet meer. Wie zegt dat een volgende Excel versie html-data met mimetype application/xls nog snapt? Misschien word dat wel gezien als malformed xlsdata :X

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 12-02 17:22

MBV

waarom maak je er niet gewoon een échte csv van? Dan snapt Excel het, kan je zelf de conversie doen enzo. Zo moeilijk is dat niet (mits je je layout gescheiden hebt gehouden in je applicatie): "value";"value" en rijen scheiden met returns :)

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Omdat de TS ook wil genieten van de layoutmogelijkheden van het xls-formaat. csv geeft je enkel de "pure" data, en liefst nog niet eens met de juiste kolombreedte... (dus dat ziet er niet uit in, bvb, een dynamische prijslijst voor klanten).

Al wat voortgang geboekt met m'n mime-technisch verbeterd voorstel :9

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 12-02 17:22

MBV

Ach, in dat geval zijn er altijd nog perl (weet ik zeker) en php (minder zeker) scripts die XLS-bestanden schrijven. Ik gok dat de TS geen zin heeft om voor dezelfde gegevens 2 layouts te geven...
Pagina: 1