繁体   English   中英

如何在 Mirth 中读取 xlsx 文件

[英]How to read xlsx files in Mirth

我是 mirth 的新手,想看看是否有人知道 mirth 如何处理 excel 文件。

现在,我的 mirth 频道适用于 zip 文件、csv 和 txt 文件,但不适用于 xlsx。 当它遇到 xlsx 文件时,它会出错。

[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 ```

目前,Mirth connect 无法原生读取 Excel 文件。 您可能希望为此创建一个自定义 java 类,然后将 jar 文件导入自定义库。 总的来说,这一切都取决于您希望达到的目标。 例如,您可以使用源连接器上的文件阅读器循环并获取 Excel 文件,然后通过通道目标连接器上的 HTTP 发送器发送到任何能够处理 Excel 的 HTTP 端点(即 PHP 或 R 中的 REST API 应用程序)文件,并在需要时返回 JSON/XML 响应。 如果您想要的只是将条目保存到数据库中,您可以考虑在里面使用诸如 executeRuntimeCommand("C:\Windows\System32\cmd.exe", "/C", "C:\sql_save.bat") 之类的命令一个转换步骤来启动一个 Windows 批处理脚本来为你保存。

Java 世界中的明显答案(您可以从 Mirth 中调用)不起作用。 Poi,无法使用从 Office 文件读取的标准框架。 它有很多依赖项,其中大部分已经在 Mirth 中。 但是,似乎没有任何版本的 Poi 与 Mirth 加载的内容相匹配。 以为我可以处理依赖项,以便获得一个新的类加载器,但显然不是。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM