Marklogic函数将excel文件转换为XML?

时间:2017-02-21 14:25:49

标签: marklogic xlsx marklogic-7

MarkLogic中是否有任何功能将输入作为 excel 文件并将其转换为 XML 文件。

我遇到了一个函数xdmp:excel-convert(),但此函数正在生成 .xhtml 文件。并且不适用于 .xlsx 扩展名excel文件。

我正在使用ML版本7

3 个答案:

答案 0 :(得分:3)

如果您安装了内容处理框架和转换应用程序,则可以使用它将.xls格式的Excel上转换为简化的docbook。如果您附加Office OpenXML Extract管道,它将处理解压缩并对.xslx格式的Excel进行适量的清理。

答案 1 :(得分:1)

除了mholstege的好建议之外,请注意.xlsx文件只是带有XML的zip文件。 Here's a blog post举例说明如何从.docx中提取XML文件。

答案 2 :(得分:0)

您可以使用xdmp:document-filter()读取XLSX并生成XHTML输出。

我使用xdmp:document-filter()快速/轻松地处理XLXS文件并将XHTML输出转换为多个XML文档,然后将它们插入MarkLogic数据库。

每一行都会生成一个XHTML <p>元素(不要忘记它绑定到命名空间http://www.w3.org/1999/xhtml),并用逗号分隔的值text()节点表示每列数据,除了一些有用的<meta>元素以及有关该文件的信息。

例如一行有三列: FOO 巴兹

会产生:

<p>foo,bar,baz</p>

您可以选择有意义的数据行,然后对CSV值进行标记,以便为<p>元素中的每一行数据生成列。

您可能需要过滤为工作表标签生成的部分<p>

<p>Sheet1</p>

以及不包含任何值的行,只生成一系列逗号:

<p>,,,</p>