Publicentral.com - promocion de paginas webpromocion de paginas web
Mostrando Codigo - Javascript
Code

Javascript - Exportar una tabla html a excell

Códigos Javascript

Este magnifico ejemplo consigue exportar a excell los valores de una tabla. Utiliza controles activex.Muy util si queremos ofrecer a nuestros visitantes un reporte en este formato.
Visitas: 78,752 - 07/01/2004 20:20:32
CODIGO SIN DEMOSTRACIONNO CONTIENE ARCHIVO DESCARGABLEComentario
EXPLICACION
Simplemente debemos agregar todas las tablas que deseemos.
CODIGO
Este codigo aun no ha sido probado por Tutores.org en ChromeEste codigo aun no ha sido probado por Tutores.org en FirefoxCodigo probado en Internet Explorer 7+Este codigo aun no ha sido probado por Tutores.org en OperaEste codigo aun no ha sido probado por Tutores.org en Safari


# Codigo ofrecido por Tutores.org

  1. <HEAD>
  2. </HEAD>
  3. <script LANGUAGE=javascript>
  4. function exportToXL(eSrc) {
  5. var oExcel;    
  6. var oExcelSheet;  
  7. var oWkBooks;
  8. var cols;
  9. oExcel = new ActiveXObject('Excel.Application');
  10. oWkBooks = oExcel.Workbooks.Add;
  11. oExcelSheet = oWkBooks.Worksheets(1);
  12. oExcelSheet.Activate();
  13.     if (eSrc.tagName != 'TABLE') {
  14.   alert('No ha sido posible exportar la tabla a excell');
  15.   return false;
  16. }
  17. cols = Math.ceil(eSrc.cells.length / eSrc.rows.length);
  18.     for (var i = 0; i < eSrc.cells.length; i ++)
  19. {
  20. var c, r;
  21.   r = Math.ceil((i+1) / cols);
  22.   c = (i+1)-((r-1)*cols)
  23.   if (eSrc.cells(i).tagName == 'TH') {  
  24.     oExcel.ActiveSheet.Cells(r,c).Font.Bold = true;
  25.     oExcel.ActiveSheet.Cells(r,c).Interior.Color = 14474460;
  26.   }
  27.   if (eSrc.cells(i).childNodes.length > 0 && eSrc.cells(i).childNodes(0).tagName == "B")
  28.     oExcel.ActiveSheet.Cells(r,c).Font.Bold = true;
  29.   oExcel.ActiveSheet.Cells(r,c).Value = eSrc.cells(i).innerText;
  30. }
  31. oExcelSheet.Application.Visible = true;
  32. }
  33. </script>
  34. <BODY>
  35. <FORM id=oForm>
  36. <TABLE id=idTable cols=3 name=idTable>
  37.   <TR>
  38.       <TH>Titulo 1</TH>
  39.       <TH>Titulo 2</TH>
  40.       <TH>Titulo 3</TH>
  41.     </TR>
  42.   <TR><TD>Celda 1</TD><TD>Celda 5</TD><TD>Celda 5</TD></TR>
  43.   <TR><TD><b>Celda 2</b></TD><TD>Celda 6</TD><TD>Celda 5</TD></TR>
  44.   <TR><TD>Celda 3</TD><TD>Celda 7</TD><TD>Celda 5</TD></TR>
  45.   <TR><TD>Celda 4</TD></TR>
  46. </TABLE>
  47. </FORM>
  48. <INPUT type="button" value="Exportar" id=button1 name=button1 onCLick="exportToXL(oForm.all('idTable'))">
  49. </BODY>



ENLACE AL CODIGO
Si quieres enlazar desde tu pagina a este codigo
<!-- Inicio enlace Tutores.org -->
<a title="Tutores.org - Exportar una tabla html a excell" href="http://www.tutores.org/codigo/959/" target="_blank">Exportar una tabla html a excell</a>
<!-- Final enlace Tutores.org -->
COMENTARIOS
Comentario usuario
24/04/2004 0.13.58
4 5
Excelente funcion..solo tengo una duda..
Como le doy formato de tipo de dato a una celda?..por ej.. decirle que es Texto o Numerico o Fecha.

Muchas gracias.
Comentario usuario
26-06-2008 23:38:24
1 5
La función me parece excelente, el tema es que no logro que funcione en mi intranet.
El error que me da es:
El servidor de automatización no pudo crear el objeto.
lo da en la línea:
oExcel = new ActiveXObject('Excel.Application');
podrían darme una pista del porqué.

Muchas gracias
Comentario usuario
rosa msria badal segura
4 5
Sencilla i perfecta! Es la palabra que más bien la define. Muchas gracias me ha sido de gran ayuda.
Comentario usuario
11-12-2009 12:59:40
3 5
Hago la misma pregunta que adrian.
Comentario usuario
19/04/2003
1 5
Hola
lo mas posible es:
No tengas instalado excel
No tengas configurado el servidor para ejecutar este tipo de controles Activex.
Como ves a Rosa Msria y a pasa si le funciona el codigo
Saludos
Comentario usuario
cynthia
5 5
hola no me funciona tampoco no me abre ningun archivo en excel, me dice que hay un error en la pagina cuando presiono el boton exportar que puede ser
agreadeceria mucho su ayuda
Comentario usuario
19/04/2003
2 5
Hola
el codigo ha estado funcionando como podras observar en lso mensajes anteriores
Es posible que con los bloqueos que tiene Windows Xp Iexplorer y lo que anteriormente hemos comentado, no te funcione.
Saludos
Comentario usuario
rober
5 5
Bueno, yo sólo quería felicitarte por el código y darte las gracias ya que me ha ayudado bastate.
Un saludo.
Comentario usuario
10-06-2010 23:39:40
2 5
[*CODE*] oExcel = new ActiveXObject('Excel.Application');[*/CODE*]

<CODE> oExcel = new ActiveXObject('Excel.Application'); </CODE>

TENGO EL SERVIDOR WAMP PERO ALLI NO CREE ESTA PARTE DICE :
EL SERVIDOR DE AUTOMATIZACION NO PUEDE CREAR EL OBJETO POR ELLO LES PIDO QUE SI ME PUEDEN DECIR COMO SE CONFIGURA PARA QUE LO PUEDA CREAR.
Comentario usuario
19/04/2003
5 5
Hola Arturo
El servidor solo podrá crearlo si tiene instalado EXCELL, por lo contrario no detectara el Objeto Activex (ActiveXObjec). Lo mejor seria que te informaras del software que tiene instalado el servidor .
Saludos
Comentario usuario
28-05-2010 16:10:12
2 5
Necesito exportar toda la pagina a excel o mejor a word.....
alguien me puede ayudar
Comentario usuario
01-12-2007 02:22:42
3 5
Me funciona en IE pero no me funciona en Firefox que puede hacer?
Comentario usuario
11/08/2005 23.03.51
5 5
Donde puedo averiguar mas parametros del script para excel ...??? para insertarle mas opciones ademas de la negrita
Comentario usuario
08/11/2006 23.50.47
4 5
ke pasa si se kiere agregar datos desde algun formulario y que estos los exporte a excel ????????? sin servidor, utilizando esta programación

Disculpen la pregunta pero kreo ke estos demasiado verde para esto¡¡¡

saludos y que tengan un buen --- dia -- tarde -- noche ---
Comentario usuario
23/11/2006 16.56.55
3 5
La función me parece excelente, el tema es que no logro que funcione en mi intranet. El error que me da es: El servidor de automatización no pudo crear el objeto. lo da en la línea: oExcel = new ActiveXObject('Excel.Application'); podrían darme una pista del porqué. Muchas gracias
Comentario usuario
23/11/2006 16.56.55
5 5
saludos...probe con la funcion, y me genera el mismo error que arturo...y yo estoy corriendo la aplicacion desde mi localhost y mi maquina tiene instalado el excel..como haria para resolver esto por fa!!
Comentario usuario
juan eduardo
4 5
Que pasa cuando los datos que quiero exportar crecen constantemente hay alguna forma de hacerlo sin agregar Tr's y td's?
Comentario usuario
Sistemas
4 5
Excelentente funcion gracias, a los que les manda el error de Error de Automatizacion solo activen sus ActiveX
Comentario usuario
29-01-2008 16:46:58
2 5
Excelente, funciona a la perfección. una pequeña consulta, lo que pasa es que mis 2 primeras filas son de titulo, despues vienen las descriptoras de las columnas o sea:

titulo1
titulo2
col1 | col2 | col3 | etc...

como lo tendría que hacer????
Comentario usuario
24-10-2007 18:03:22
1 5
Excelente, funciona a la perfección. una pequeña consulta, lo que pasa es que mis 2 primeras filas son de titulo, despues vienen las descriptoras de las columnas o sea:

titulo1
titulo2
col1 | col2 | col3 | etc...

usando esta función me quedan estos titulos en la 1° fila y ocupando las 2 primeras columnas, es decir:

titulo1 | titulo2 | col1 | col2 | col3 etc...
Esto descrua todo... he tratado de arreglarlo pero, ya se me han agotado las ideas...

como lo tendría que hacer????

Gracias,
Comentario usuario
Maurício de Paula
3 5
Apesar do post ser antigo, tenho que dizer em nome de vários programadores no Brasil que este é um dos códigos javascript mais importantes já encontrados na web por nós.

Parece ser fácil, mas eu realmente nunca consegui pensar desta forma para elaborar um script que fizesse de forma tão simples o que este faz.

Obrigado.
Comentario usuario
lorgio
3 5
Solo entren a opciones de internet, seguridad y en intranet coloquen baja, o activen que los controles active funcionen y el script correra sin ningun problema.

Y como dice el anterior post aunque este aporte sea de mucho tiempo, pero muy util
Comentario usuario
nikole
4 5
no me funciona en Mozila Firefox..Que puede ser???
lo que pasa es que todos usamos solo firefox para nuestro sistema....

por favor...
Comentario usuario
peregrino
4 5
Firefox no soporta ActiveX...
Comentario usuario
JasicoMx
2 5
LA SOLUCION QUE LE PUEDEN DAR PARA QUE PERMITA
CREAR EL OBJETO ES QUE SE REQUIERE CONFIGURAR EL EXPLORADOR DE INTERNET DEL MENU DE HERRAMIENTAS
.-LA OPCION DE INTERNET
.-LA PESTAÑA DE SEGURIDAD
.-SELECCIONANDO INTRANET LOCAL O INTERNET
.-PULSAR EL BOTON DE NIVEL PERSONALIZADO
.- Y HABILITAR EL RADIO DONDE DICE inicializar y generar scripts de los controles ActiveX no marcados como seguros para scripts.

Y SI A UN ASI MARCA ESE ERROR, AGREGAR AL SITIO DE CONFIANZA
Comentario usuario
DAVIDBARRA
1 5
MUCHAS GRACIAS FUNCIONO A LA PRIMERA
Comentario usuario
juankysmith
3 5
Alguna alternativa que funcione en firefox y IE ???
Comentario usuario
05-11-2010 15:45:34
4 5
Una consulta alguien sabe otra manera de activar el "ActiveXObject" desde codigo y no desde Internet Explorer??

desde ya muchas gracias.
Comentario usuario
29-07-2009 17:52:19
3 5
Hola:

El ejemplo me funciona a la perfeccion. Gracias..!!!

Hay alguna forma de darle mas formato a mis elemetos de html que quiero exportar?
Alguien sabe donde puedo encontrar datos de DOM para eccesar a excel a travez de JavaScript y envier los datos con el formato adecuado? por ejemplo poner el tipo de fuente en arial tamaño 20.

les agradezco la ayuda.
Comentario usuario
08/11/2004 18.01.55
1 5
Quisiera saber, la forma de exportar el contenido de una pagina web, con imagenes y tablas, a Word!!! Por favor es urgente!!!!
Comentario usuario
22-09-2008 10:52:21
2 5
Realmente es un codigo muy bueno, gracias por la ayuda.

Oye existe alguna manera de decirle q no me imprima el primer th ? y q recorra el segundo al lugar del primero y asi con los otros....?
Comentario usuario
Ruffo
1 5
Que hongo esta muy bien el script
funciona chido, pero tengo una pregunta
en la línea se que ahi asigna el color a la celda
pero la pregunta es de donde saco los numeros para os colores para saber que color es el que va apintar la celda.

oExcel.ActiveSheet.Cells(i,j).Interior.Color=numero;

Gracias por su ayuda
Comentario usuario
30-07-2010 16:23:02
1 5
Hola un saludo tengo una duda sobre este script
me funciona muy bien para exportar las tablas solo que las exporta a libros de excel diferentes y lo que yo necesito es que me exporte las tablas a en la misma hoja de un mismo liblro como le pudeo hacer
ojala y me puedan ayudar me urge saber ....
Comentario usuario
24/10/2003 22.12.49
1 5
Esta buenisimo este script!!
Comentario usuario
21-04-2010 23:52:08
1 5
hola disculpa yo copio y pego este script, pero cuando lo ejecuto no pasa nada , tal vez hago algo mal al copiarlo necesito cambiarle alguna variable..? por favor ayudenme.
gracias de antemano
Comentario usuario
ZoomWolf
2 5
el problema que mensionan radica en que las nuevas versiones de excel no permiten hacer uso de algunos objetospor uqe a mi me jalo con el office 2003 pero con el 2007 y 2010 ni madres
Comentario usuario
gudiel
1 5
ey como activo el activexObject por fa diganme es de caracter urgente XQ el codigo esta buenisimo
Comentario usuario
gudiel
5 5
osera q sirve solo paara excel 2003
Comentario usuario
ockonel
1 5
como hago para que me funcione con el google chromo por favor
Comentario usuario
19-11-2008 03:43:47
4 5
Como puedo dar un formato a una celda de fecha... con esta funcion porq me lo hace mal. lo hace bien en algunas celdas determinadas, y tb. por favor los acentos y las ñ...
Muchas gracias me urge.
Comentario usuario
svpsolm
1 5
Excelente, función. Felicidades
Comentario usuario
DGranados
3 5
Este codigo funciona excelente, en office 2010 sin ningun problema. Muchas gracias!
Comentario usuario
carl tr
3 5
yo necesitaba algo asi pero de forma inversa de Excel al Javascript a una pagina web.... es una pagina donde pide nombre clave y debes seleccionar secciones en la parte q ingresas esto seria posible??? tengo un cuadro que es una copia exacta de la que hay la pagina web pero en excel y mi intencion es ver claro esta si es poisble que lo q tenga en la hoja excel lo traslade a la pagina web espero sus ayudas orientaciones ya q es un proyecto que tengo pensado concretar gracias
INSERTAR COMENTARIO

Usuario:
Email:
Comentario:
Codigo Seguridad


Antes de enviar un comentario...
Todos los comentarios son revisados personalmente
Todo comentario que no haga relacion al codigo mostrado en esta pagina sera eliminado

Usuarios registrados tienen preferencia en recibir respuestas de ayuda!!
Ademas de poder insertar Imagenes,Enlaces y otras propiedades del editor.
Por favor, insertar los comentarios descriptivos.