2010-10-19 33 views
13

¿Es posible agregar contenido a un archivo .xls usando PHP fwrite()?¿Cómo puedo escribir datos en Excel utilizando PHP

Cuando intento esto usando fwrite(), el archivo resultante provoca un mensaje de error en Excel 2007.

¿Hay un separador específico que puedo utilizar para lograr esto?

¿Es posible sin una biblioteca de terceros?

+2

posible duplicado de [Alternativa para PHP_excel] (http://stackoverflow.com/questions/3930975/alternative-for-php- excel): aunque la pregunta no es la misma, la lista allí responderá su pregunta. – Gordon

+0

¿Qué formato es su archivo de Excel? ¿Es un archivo CSV, un archivo BIFF5 u 8 .xls o un archivo .xlsx de MS Office OpenXML? –

+0

@Gordon. Lee la pregunta: "Ya tengo un sobresaliente". Quiero escribir en ese Excel utilizando fwrite sin clases. . Algunos chicos están aquí para votar. Ellos no pueden dar respuestas. FTW – zod

Respuesta

16

Puede usar la biblioteca PhpSpreadsheet para leer un archivo de Excel existente, agregarle nuevas filas/columnas y luego volver a escribirlo como un archivo de Excel real.

Descargo de responsabilidad: soy uno de los autores de esta biblioteca.

+0

Gracias. Como usted es el otro, ¿puedo preguntarle algo? ¿Cómo funcionará si escribo más de 65 000 registros? ¿Hay alguna opción para agregar otra hoja cuando alcanza el límite de excel 65536 filas? – zod

+0

@MarkBaker: gracias ... eso ayudó ... –

+0

@MarkBaker: es posible escribir en Excel nuevo usando su lib – Hitesh

0

para escribir puede utilizar: Spreadsheet_Excel_Writer es una herramienta para crear archivos de Excel sin necesidad de componentes COM

http://pear.php.net/manual/en/package.fileformats.spreadsheet-excel-writer.php pero no puedes appaend a presentar, sólo para crearlo.

o el uso de PHPExcel (apoyo sobresalir 2007)

http://phpexcel.codeplex.com/

y puede anexar ver un ejemplo:

http://phpexcel.codeplex.com/Thread/View.aspx?ThreadId=82996

+0

El Spreadsheet_Excel_Writer no se ha mantenido (último lanzamiento 2012-01-26). También provoca el error "Error de archivo: los datos pueden haberse perdido". [Error # 12848 \t Excel "Error de archivo: los datos pueden haberse perdido."] (Http://pear.php.net/bugs/bug.php?id=12848) [ADVERTENCIA: Spreadsheet :: WriteExcel y Office Service Paquete 3] (https://groups.google.com/forum/?fromgroups=#!topic/spreadsheet-writeexcel/Pc6kDmYgrzo) – sumid

0

si lo que desea/necesidad de crear una tabla muy simple , solo necesita hacer un archivo *.csv que Excel puede abrir, pero no: no puede usar fórmulas en esto y no puede hacer ningún tipo de formateo.

+2

En realidad, puede usar fórmulas en un archivo CSV, aunque debe tener más cuidado de que formula hace referencia a las filas y columnas correctas: el formato R1C1 suele ser más fácil de usar que el formato A1. –

4

Puede tratar de crear un archivo CSV, como esto:

name;surname;blabla 
name;surname;blabla 
name;surname;blabla 
name;surname;blabla 

Excel debe comer esto :)

Es conveniente utilizar las funciones PHP CVS: http://php.net/manual/en/function.fputcsv.php

Cuestiones relacionadas