[PHP] Mysql to excel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • bartosiej
  • Registratie: Juli 2005
  • Laatst online: 18-09 16:17
Hallo allemaal,

Ik heb de volgende class op het internet gevonden:
http://www.phpfreaks.com/tutorials/114/0.php

Deze heb ik werkend gekregen op mijn website. Maar omdat sommige waardes langer zijn dan de standaardwaardes van de kolommen, komen er allemaal ####### in de velden, waarbij dit het geval is.

Als ik het kolom dan langer maak, dan krijg ik wel de waarde te zijn.

Ik vroeg me af of, met een aanpassing aan de desbetreffende class, het mogelijk was om deze kolommen standaard al iets groter te maken.

Alvast bedankt,

bartosiej

Acties:
  • 0 Henk 'm!

Verwijderd

Je maakt daarmee geen echt Excel bestand, je maakt alleen gebruik van het feit dat Excel ook met CSV bestanden kan omgaan. In CSV bestanden zit geen informatie over de breedte van kolommen ofzo. Wil je dit wel kunnen, dan zul je een "echt" Excel bestand moeten maken, maar ik moet je waarschuwen, dat is een ingewikkeld bestandsformaat! Ik heb zelf geen echte goede open source implementatie kunnen vinden, en zelf maken kan dus wel, maar is behoorlijk complex.

Acties:
  • 0 Henk 'm!

  • bartosiej
  • Registratie: Juli 2005
  • Laatst online: 18-09 16:17
Hier was ik inderdaad al een beetje bang voor.

Ik heb nog een ander probleempje, ik hoop dat dit wel kan worden opgelost.
Ik heb namelijk een datum veld, in het formaat 02 januari 2007. Als ik dit exporteer, dan maakt excel daar automatisch 2-1-2007 van en dat wordt weergeven als 2-jan-07.

Is er een manier om dit te stoppen?

[ Voor 12% gewijzigd door bartosiej op 02-01-2007 14:08 ]


Acties:
  • 0 Henk 'm!

  • KoHa
  • Registratie: Juli 2004
  • Laatst online: 00:15
bartosiej schreef op dinsdag 02 januari 2007 @ 14:06:
Hier was ik inderdaad al een beetje bang voor.

Ik heb nog een ander probleempje, ik hoop dat die wel kan worden opgelost.
Ik heb namelijk een datum veld, in het formaat 02 januari 2007, daar maakt excel automatisch 2-1-2007 van en dat wordt weergeven als 2-jan-07 van.

Is er een manier om dit te stoppen?
Hetzelfde probleem, jij voert de waarde van de datum in, maar omdat Excel geen type van het veld heeft meegekregen past hij dit automatisch aan naar het standaardtype voor deze invoer...

[edit] Je zou wel eens kunnen proberen om in plaats van 02 januari 2007 het in te voeren op de volgende manier:
code:
1
="02 januari 2007"

[ Voor 11% gewijzigd door KoHa op 02-01-2007 14:11 ]


Acties:
  • 0 Henk 'm!

  • BBrunekreeft
  • Registratie: Mei 2004
  • Laatst online: 08:29

BBrunekreeft

Dus...

Verwijderd schreef op dinsdag 02 januari 2007 @ 13:41:
Je maakt daarmee geen echt Excel bestand, je maakt alleen gebruik van het feit dat Excel ook met CSV bestanden kan omgaan. In CSV bestanden zit geen informatie over de breedte van kolommen ofzo. Wil je dit wel kunnen, dan zul je een "echt" Excel bestand moeten maken, maar ik moet je waarschuwen, dat is een ingewikkeld bestandsformaat! Ik heb zelf geen echte goede open source implementatie kunnen vinden, en zelf maken kan dus wel, maar is behoorlijk complex.
Met de PEAR::Spreadsheet_Excel_Writer class en een beetje PHP lukt het toch heel aardig hoor :)

Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
Je kunt als ik me niet vergis ook gewoon een HTML <table> element als Excel document opslaan, zolang je de juiste headers maar meestuurt. Zelfs met inline css. Ik heb het zelf echter nog nooit toegepast.

:D/-<


Acties:
  • 0 Henk 'm!

  • stappel_
  • Registratie: Augustus 2000
  • Laatst online: 20:41
he net te laat.
de PEAR class doet het prima hier:
http://pear.php.net/package/Spreadsheet_Excel_Writer/

ook het aanpassen van de colom breedte gaat uitstekend voorbeeld:
PHP:
1
2
$worksheet->write($row, $col, "Datum gesprek");
$worksheet->setColumn($col,$col,10);

Ubero: #2, Euler: #1, GOT: #1, Des: #1, Zeta: #1, Eon: #3, OGR-24: #3, OGR-25: #7,
LM: #7, AP: #5, DF: #19, D2OL: #37, SOB: #50, TSC: #63, RC5: #96


Acties:
  • 0 Henk 'm!

  • bartosiej
  • Registratie: Juli 2005
  • Laatst online: 18-09 16:17
KoHa schreef op dinsdag 02 januari 2007 @ 14:08:
[...]


Hetzelfde probleem, jij voert de waarde van de datum in, maar omdat Excel geen type van het veld heeft meegekregen past hij dit automatisch aan naar het standaardtype voor deze invoer...

[edit] Je zou wel eens kunnen proberen om in plaats van 02 januari 2007 het in te voeren op de volgende manier:
code:
1
="02 januari 2007"
bedankt werkt perfect ;)
Pagina: 1