[PHP] Genereren Excelbestand

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

Onderwerpen


  • Freshnezz
  • Registratie: November 2004
  • Laatst online: 09-09 13:23

Freshnezz

Why so serious?

Topicstarter
Hallo!

Ik heb een probleem met een Excel bestand wat gegenereerd wordt vanuit een PHP pagina.

Ik heb een aantal kolommen met tijdsduren via \t en \n opgemaakt voor een tabgescheiden excel bestand.

Het probleem zit hem in de data -> wanneer er bijvoorbeeld 47:00 (47 uren) wordt outgeput, komt het een aantal keren voor dat deze in MS Excel als 47:00:00 weergegeven worden... dit klopt dus niet wanneer er een cel daaronder bijvoorbeeld 24:00 (24 uren) wordt weergeven...

Excel past dus automatisch de format van de gegevens aan...

Weet iemand hoe ik dit kan omzeilen, zodat dus alle uren op dezelfde manieren worden weergegeven??

Alvast dank!

Verwijderd

De vieze manier is om voor zo'n veld een spatie te zetten. Heb dit probleem ooit ook gehad met telefoonnummer's, hij haalde dan de nul er voor weg.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Je bent op dit moment geen Excel export aan het maken, maar gewoon een tab-separated lijst. Hierin is op geen enkele manier een type gedefinieerd. Wil je daadwerkelijk datatypes meegeven aan excel dan zul je een ander formaat moeten gebruiken. Probleem is echter dat office's bestandsformaten nogal gesloten zijn.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Freshnezz
  • Registratie: November 2004
  • Laatst online: 09-09 13:23

Freshnezz

Why so serious?

Topicstarter
Verwijderd schreef op woensdag 26 september 2007 @ 16:28:
De vieze manier is om voor zo'n veld een spatie te zetten. Heb dit probleem ooit ook gehad met telefoonnummer's, hij haalde dan de nul er voor weg.
Ah ok misschien werkt dit wel, even proberen... thnx!

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:31

Gonadan

Admin Beeld & Geluid, Harde Waren
Kan je dan niet gewoon zelf alvast 24:00:00 printen?
Of anders converteren naar minuten.

Verder wat Janoz zegt. Maak een echt excel bestand in plaats van een CSV. :)

Kijk anders eens naar de COM objecten of dit PEAR pakket. :)

[ Voor 26% gewijzigd door Gonadan op 26-09-2007 16:32 ]

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • Freshnezz
  • Registratie: November 2004
  • Laatst online: 09-09 13:23

Freshnezz

Why so serious?

Topicstarter
Ja precies, van die paketten die 'echte' excel bestanden genereren is uiteraard netter...

maar voor het moment doe ik de vieze spatie techniek, want nu komt ie geeft ie hem dus wel goed weer! :) bedankt!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Het is maar wat je goed weergeven vindt. Excel interpreteert het nu als een stuk tekst. Het is nog steeds geen tijdsduur. In Excel zul je er dus nog niet mee kunnen rekenen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • KabouterSuper
  • Registratie: September 2005
  • Niet online
En als je er html van maakt? kan je dan met mso-styles niet de opmaak forceren?

When life gives you lemons, start a battery factory


  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:31

Gonadan

Admin Beeld & Geluid, Harde Waren
KabouterSuper schreef op woensdag 26 september 2007 @ 16:41:
En als je er html van maakt? kan je dan met mso-styles niet de opmaak forceren?
En dan nog een conversiestap ertussen zetten?
Dat lijkt mij verre van ideaal.
Als je direct een Excel bestand genereert dan weet je zeker dat de data er correct in komt. :)

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Hoezo conversiestap? TS suggereert dat hij de tab-separated file alleen genereert om deze in Excel te kunnen openen. Of je nou een tab-separated file genereert of een html bestand maakt niet echt uit.

Voordeel is dat je niet eindigt met een binaire file.

When life gives you lemons, start a battery factory


  • DJ Buzzz
  • Registratie: December 2000
  • Laatst online: 19-09 08:24
Je kunt ook eens kijken naar een XML formaat dat door recente versies van Excel gesupport wordt. O.a. op http://www.codeproject.com/dotnet/ExportToExcel.asp staat een voorbeeld hoe je dat kunt doen. Nadeel is wel dat je minimaal Excel 2002 (op de mac) of 2003 (onder windows) nodig hebt.

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 21:31

Gonadan

Admin Beeld & Geluid, Harde Waren
KabouterSuper schreef op woensdag 26 september 2007 @ 16:53:
Hoezo conversiestap? TS suggereert dat hij de tab-separated file alleen genereert om deze in Excel te kunnen openen. Of je nou een tab-separated file genereert of een html bestand maakt niet echt uit.

Voordeel is dat je niet eindigt met een binaire file.
Een CSV genereer je meestal door explode te gebruiken.
Die data moet je dan nog in een HTML formaat met de juiste tags zetten.
Dat is een extra stap in mijn ogen. :)

Look for the signal in your life, not the noise.

Canon R6 | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Als je een Excel bestand wilt maken zonder met binaire data te eindigen moet je natuurlijk een .xlsx aanmaken. Dat is gewoon een zip met daarin een bult XML files.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?

Pagina: 1