![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Exportar a XLSX + de 255 col
Buenas noches a todos.
Trabajo con: DELPHI 6 - FIREBIRD 2.0 - WIN 10 - IBX De regreso con este tema que ya lo he tocado en el foro. Ahora tengo un nuevo problema con respecto a la exportación de datos a formato de Excel. Estoy usando un componente llamado XLSExport, el cual me funciona bien....SIEMPRE Y CUANDO EXPORTE MENOS DE 255 COLUMNAS!!... El motivo por el cual uso este componente es que no necesita tener Excel instalado en el equipo del usuario. Si la solución que exista deba tener Excel instalado, pues ni modo.... Pues el problema es ese...como exportar a un formato XLSX??...con este componente o con otro, que dicho sea de paso, que también sea Free...(todo quiero jajajaja). Por mas de 12 años sin problema estaba trabajando, pero ahora requieren incluir mas columnas en el archivo -que es una plantilla XLT-. LO QUE HE INTENTADO: Abrí el archivo XLT en Excel 2013 y lo grabe como plantilla de esta versión, el cual al abrirlo pues si, me da mas columnas -mas de las que necesito-...intente abrirlo con el componente dentro de mi aplicación y pues me dice que no son compatibles!!...que no tiene el formato adecuado.... Como han resuelto esto?...que componente usaron para exportar en formato XLSX?? ME BAJE VARIOS COMPONENTES: mxNativeExcel scExcelExport ExportSuit OExport Free (La version FREE solo exporta una hoja -y necesito 3- ademas de cierta cantidad de registros) XlsReadWrite Pero no se cual me pudiera resolver el problema...o talvez algun otro que no haya enlistado. Uso plantilla porque se requiere de un diseño muy especifico, entonces deberá soportar esto...aunque no sea sobre una plantilla como tal, también puede ser que use un XLSX y ahi volcar los datos...con el formato especifico. Espero me puedan ayudar. Saludos y muchas gracias por su tiempo amigos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! Última edición por mRoman fecha: 15-10-2020 a las 03:35:26. |
#2
|
|||
|
|||
No creo ser de mucha ayuda por desconocimiento del componente del que hablas pero te daré mi opinión por si mi experiencia te sirve. Como comentas que con este componente no necesitas tener excel instalado y que lo utilizas desde hace ya 12 años. Sospecho que trabaja directamente sobre el fichero xls en fomato sfbiff8 que es el antiguo formato utilizado por excel y limitado a 256 columnas:
https://office-watch.com/2020/excel-...s-and-columns/ Identificar el problema no te ayuda, lo entiendo. Igual mi propuesta es algo costosa en tiempo pero en lazarus existe un componente llamado fpsSpreadSheet que permite trabajar con distintos formatos de ficheros excel.: https://wiki.freepascal.org/FPSpreadsheet Igual te resulta interesante la posibilidad de crear una dll con lazarus que utilize este componente y llamarla desde tu aplicación delphi. |
#3
|
||||
|
||||
No sé si te sirve, pero puedes exportar al formato de texto .csv (valores separados por comas, tabuladores, etc.)
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
||||
|
||||
Cita:
Nuevamente, Gracias. Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#5
|
||||
|
||||
Cita:
Aún así Casimiro, muchas gracias por tu aportación y tiempo. Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#6
|
||||
|
||||
Una tangente: Excel NO ES un formato confiable para intercabio de informacion:
(un ejemplo reciente, que seguro ha costado vidas) https://news.ycombinator.com/item?id=24689247 ---- Si el componente no da mas de esas columnas, no da mas y punto. Si el formato excede un limite, excede y punto. Cuales limites? https://www.askingbox.com/info/xls-a...lumns-and-rows Que como vez, es peor: Excel es un formato que depende de versiones y años en que tal cosa se implemento, porque NO ES un formato para manipular datos. Hay que dejarle claro eso a los clientes. --- Una solucion mas limpia es que DESDE excel se conecte a tu DB/app. O usar sqlite. O usar csv y DESDE excel conectarse. O usar otra app para manejar informacion. Excel NO ES una app para maipular datos arbitrarios.
__________________
El malabarista. |
#7
|
||||
|
||||
Cita:
PD: ¿Los componentes que estás usando son de código abierto? Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. ![]() |
#8
|
||||
|
||||
Cita:
Creo q no son de código abierto, en realidad cuando llegué a este empresa el componente ya estaba instalado.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#9
|
|||
|
|||
Cita:
Como moraleja de esta experiencia me quedó: usar reporteadores que sean adecuados y no depender de las aplicaciones Excel /access. Incluso con csv puede haber problemas, una vez tenía un número de cuenta bancaria que es de tipo texto y al abrirla en Excel la cambió a formato numérico científico, eliminando algunos dígitos. |
#10
|
||||
|
||||
Cita:
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#11
|
|||
|
|||
Me ha picado la curiosidad y he buscado algo, encontrando esto:
http://avemey.com/zexmlss/index.php?lang=en En principio la licencia es zlib y la prueba sencilla que he hecho con el proyecto de ejemplo que trae el propio componente "parece" funcionar (en Lazarus eso sí). Si aún no has encontrando una solución puedes intentar con zexmlss. |
#12
|
||||
|
||||
Cita:
Intentare con el link q enviaste.... Gracias.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#13
|
||||
|
||||
Cita:
[Fatal Error] zexmlssutils.pas(33): File not found: 'ZColorStringGrid.dcu' Son 2 archivos DPK: zexmlsslib zexmlsslibe No trae instrucciones de instalación, pero lo hice asi: File/open/ ... y seleccioné el archivo (zexmlsslib), le di click sobre "install" y marca error, anteriormente le di click sobre "Compile" y luego en "Install" y marca el mismo error. Esto hice para el otro archivo. Lo hice mal??...es correcto la forma en como lo ejecuté? Hay otra carpeta que dice "SRC", supongo que son los "source" del componente, pero no viene el que marca el error. Gracias por su tiempo. Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#14
|
|||
|
|||
Ahora mismo no puedo probarlo, y ya digo que la prueba en su momento la hice en lazarus sin problemas. Lo que yo veo no es que no tenga instrucciones si no que las tiene en ruso, pero copiando y pegando en google translator la traducción al español deja algo del tipo:
2. Delphi 5-7, BDS 2005, BDS 2006, Delphi 2007, CodeGear RAD Studio 2009/2010, Delphi XE y Delphi XE2. Advertencia: Delphi 5 funcionará solo con codificado Windows-1251 y CP866, hay otras codificaciones disponibles en dispositivos portátiles (mono ¡Intente extraer system.pas de Delphi 7)! 0. Si no está usando ZColorStringGrid, agregue la línea a src \ zexml.inc {$ DEFINE NOZCOLORSTRINGGRID} 1. Agregue la versión anterior (según bpl, dcp y dcu). 2.Agregue (si no es necesario) el código fuente en Herramientas-> Opciones de entorno-> Biblioteca-> Ruta de biblioteca (para BDS 2005 o BDS 2006 â Herramientas-> Opciones-> Opciones de entorno-> Opciones de Delphi-> Biblioteca - Win32-> Ruta de la biblioteca) 3. Para utilizar las funciones ReadXLSX, SaveXmlssToXLSX, SaveXmlssToODFS y ReadODFS: lea /delphizip/readme.txt, reemplace el archivo inc en la carpeta src con / delphizip / new_package (Compatible con TurboPower Abbrevia (http://sourceforge.net/projects/tpabbrevia/), Synzip (http://synopse.info) и Biblioteca de códigos JEDI (http://sourceforge.net/projects/jcl/)). Reemplace el almacenamiento interno. 4. Abra el nuevo zexmlsslibe.dpk (o zexmlsslib.dpk si no usa ZColorStringGrid). Haga clic en "Compilar" y luego en "Instalar". Esta tarde probaré a montarlo en un delphi y te cuento si he tenido algún problema. |
#15
|
|||
|
|||
En delphi 7 pude montarlo de forma relativamente facil, solo abrí el dpk zexmlsslib.dpk , edité zexmlssutils.pas añadiendo en la interface de la unit la línea:
{$DEFINE NOZCOLORSTRINGGRID} Compilé el dpk, y después lo instalé. Sé que usas delphi 6, no sé si siguiedo estos pasos podrás instalar el componente, espero que sí. |
#16
|
||||
|
||||
Cita:
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#17
|
||||
|
||||
Solucionado
Bueno pues les platico. Con la opción que me pasó "engranaje", no lo pude resolver, ya que me marcaba varios errores y con la prisa que tenia de resolverlo, la verdad ya no quise investigar mas...
Lo resolví con el componente tscExcelExport...que desafortunadamente REQUIERE TENER INSTALADO EL EXCEL, pero con este me solucionó el problema para generar archivos mayores a 255 columnas. En link que les anexo, vienen ejemplos de su uso y hasta código fuente de esos ejemplos. Pues bien, muy a mi pesar, de no haberlo solucionado como yo quería, al final, me permitió resolver el problema, el cual se agravaría mas -y tendría mas presión- para el cierre de mes -q ya casi se acerca, 31 de Oct.- Bueno, espero que lo aquí expuesto sirva para alguien mas que tenga este problema. Saludos. p.d. talvez le dedique mas tiempo de calidad a la propuesta de "engranaje" y tener otra alternativa...
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#18
|
||||
|
||||
Una pregunta, ¿exportas fórmulas, notas, más de una hoja... o son solamente valores en una hoja?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#19
|
||||
|
||||
Cita:
Exporto formulas, texto y datos numéricos en mas de una hoja (de 3 a 4 hojas)....estos datos los vuelco en un archivo que tiene cierto formato/diseño como una plantilla, el cual es grabado en tiempo de ejecución con otro nombre que el usuario selecciona. "Notas" no exporto, pero el componente, permite insertar notas en las hojas de cálculo.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#20
|
||||
|
||||
Gracias por la información
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como guardar filex xlsx con FileStream | Soa Pelaez | Varios | 5 | 26-11-2018 15:56:06 |
Debo realizar una exportación de datos a Excel (*.xlsx)... | TiammatMX | Providers | 18 | 07-07-2017 20:53:36 |
Modificar un documento MS EXCEL 2003 [.xls] o 2007 [.xlsx] | adrall | Conexión con bases de datos | 0 | 02-05-2016 15:12:11 |
delphi 7 Exportar a xlsx desde reportbuilder | karenthyuliana | Impresión | 0 | 24-01-2012 15:28:36 |
exportar datos de Dataset a XLSX | nextor | Conexión con bases de datos | 3 | 20-12-2010 18:43:22 |
![]() |
|