with online htm gratis convertir html excel colors export-to-excel

online - html to excel php



Exportación a Excel de la manera más simple(pero no CSV) (3)

Ayer encontré este How-To sobre la exportación de datos a hojas de cálculo de Excel simplemente produciendo HTML. Parecía una forma directa de exportar celdas con formato, lo que no se puede lograr usando solo el formato CSV.

Mi idea era procesar algunos datos en una aplicación Java, exportar los resultados a la hoja de cálculo de Excel y utilizar las capacidades de Excel para analizar más a fondo los datos, dibujar tablas, etc ... (evite volver a implementar las poderosas características de Excel). Sin embargo, antes de exportar los datos, quería colorear el fondo de algunas de las celdas. La característica ''formato condicional'' de Excel no sería suficiente (además, no quiero hacer eso manualmente). Encuentro bastante conveniente preparar la hoja de cálculo con todo el formato en la aplicación Java e ir desde allí en Excel.

El enfoque mencionado en el How-To es simple y funciona bien, excepto por dos problemas. Tenía la esperanza de que algunos de ustedes tengan experiencia previa en esto y puedan aportar algo de luz sobre este tema.

  1. Colorear las celdas individuales como <td bgcolor="#ff2323"> se verá exactamente de la manera que quiero cuando abra el archivo XLS en Firefox, pero Excel cambia los colores a lo que creo que llaman paleta de colores ''web-safe''. Lo que significa que, en lugar de tener 256 tonos de rojo diferentes, obtengo un ''rojo'', ''fucsia'', ''rosa'', ''naranja'', ''amarillo claro'' y ''blanco''. ¿Hay alguna forma de evitar que ocurra esta conversión de color?

  2. Cuando abro el archivo XLS (que en realidad es solo HTML en el interior), todo se ve bien, pero las finas líneas grises que separan las celdas individuales se han ido y no puedo encontrar la manera de "activarlas". ¿Qué hay con eso?

El problema 1 es el problema principal que realmente me gustaría resolver.


Para líneas de cuadrícula ...

  1. Vaya a Herramientas > Opciones , luego en la pestaña Vista marque la casilla Cuadrículas

(Basado en Excel 2003)


Puede usar las opciones especiales de formato XML para forzar las líneas de división dentro de la hoja de cálculo:

<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"> <head> <xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name>Sheet</x:Name> <x:WorksheetOptions> <x:Print> <x:Gridlines /> </x:Print> </x:WorksheetOptions> </x:ExcelWorksheet> </x:ExcelWorksheets> </x:ExcelWorkbook> </xml> </head> <body> <table> <tr><td bgcolor="#ff2323">hello</td></tr> </table> </body> </html>

De manera más general, consulte este enlace de MSDN para obtener documentación detallada sobre este formato.


De hecho, esperaría que Excel no te diera los colores estándar seguros para la Web, sino que elijas desde su propia paleta (que es aún más pequeña: solo 56 espacios en las versiones "tradicionales" de Excel, tal vez 2007 lo haya eliminado). Es posible seleccionar sus propios colores personalizados en Excel (Herramientas-> Opciones-> Color en la versión que uso en el trabajo), pero cada nuevo color que elija reemplazará uno de los valores predeterminados de "fábrica".

Sospecho que la importación automática de HTML a Excel simplemente no quiere tomarse la molestia de configurar estos colores para usted, especialmente porque existe la posibilidad de que su archivo HTML pseudo Excel contenga más colores que la paleta de Excel tiene ranuras. Entonces se vería obligado a decepcionarte de todos modos. Los implementadores de Excel probablemente decidieron que sería más fácil y simple decepcionarte por adelantado. ;)