Soy nuevo en la alegría y trato de ver si alguien sabe cómo la alegría maneja los archivos de Excel.
En este momento, el canal My mirth funciona muy bien con archivos zip, csv y txt, pero no con xlsx. Cuando encuentra un archivo xlsx, falla.
[2022-02-08 09:37:00,037] ERROR (com.mirth.connect.donkey.server.channel.Channel:1288): Error processing message in channel xlsx (5447c43e-7aee-4ade-9460-d490edef7f04). com.mirth.connect.donkey.server.channel.ChannelException: at com.mirth.connect.donkey.server.channel.Channel.dispatchRawMessage(Channel.java:1243) at com.mirth.connect.donkey.server.channel.SourceConnector.dispatchRawMessage(SourceConnector.java:192) at com.mirth.connect.donkey.server.channel.SourceConnector.dispatchRawMessage(SourceConnector.java:170) at com.mirth.connect.connectors.file.FileReceiver.processFile(FileReceiver.java:418) at com.mirth.connect.connectors.file.FileReceiver.processFiles(FileReceiver.java:328) at com.mirth.connect.connectors.file.FileReceiver.poll(FileReceiver.java:239) at com.mirth.connect.donkey.server.channel.PollConnectorJob.execute(PollConnectorJob.java:49) at org.quartz.core.JobRunShell.run(JobRunShell.java:213) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)Caused by: com.mirth.connect.donkey.server.data.DonkeyDaoException: org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00 at com.mirth.connect.donkey.server.data.jdbc.JdbcDao.insertContent(JdbcDao.java:287) at com.mirth.connect.donkey.server.data.jdbc.JdbcDao.insertMessageContent(JdbcDao.java:199) at com.mirth.connect.donkey.server.data.buffered.BufferedDao.executeTasks(BufferedDao.java:110) at com.mirth.connect.donkey.server.data.buffered.BufferedDao.commit(BufferedDao.java:85) at com.mirth.connect.donkey.server.data.buffered.BufferedDao.commit(BufferedDao.java:72) at com.mirth.connect.donkey.server.channel.Channel.dispatchRawMessage(Channel.java:1215) ... 8 moreCaused by: org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00 at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2455) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2155) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:288) at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:430) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:356) at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:168) at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:135) at com.mirth.connect.donkey.server.data.jdbc.JdbcDao.insertContent(JdbcDao.java:284) ... 13 more ```Actualmente, Mirth connect no puede leer archivos de Excel de forma nativa. Es posible que desee hacer una clase java personalizada para esto y luego importar el archivo jar a custom-lib. En general, todo depende de lo que desee lograr. Por ejemplo, puede recorrer y capturar los archivos de Excel usando el lector de archivos en el conector de origen y luego enviarlos a través del remitente HTTP en el conector de destino de un canal, a cualquier punto final HTTP (es decir, la aplicación REST API en PHP o R) capaz de procesar el Excel. archivos y devolver respuestas JSON/XML si es necesario. Si todo lo que desea es guardar entradas en una base de datos, puede considerar usar un comando como executeRuntimeCommand("C:\Windows\System32\cmd.exe", "/C", "C:\sql_save.bat") dentro un paso de transformador para iniciar un script por lotes de Windows para guardar por usted.
La respuesta obvia en el mundo de Java (a la que puede llamar desde Mirth) no funciona. Poi, no se puede usar el marco estándar para leer archivos de Office. Tiene muchas dependencias, la mayoría de las cuales ya están dentro de Mirth. Sin embargo, ninguna versión de Poi parece coincidir con la cargada por Mirth. Pensé que podría trabajar las dependencias de tal manera que obtendría un cargador de clases nuevo, pero aparentemente no.