apoc.export.xls.all

过程 Apoc 扩展

apoc.export.xls.all(file,config) - 将整个数据库作为 xls 导出到提供的文件

签名

apoc.export.xls.all(file :: STRING?, config :: MAP?) :: (file :: STRING?, source :: STRING?, format :: STRING?, nodes :: INTEGER?, relationships :: INTEGER?, properties :: INTEGER?, time :: INTEGER?, rows :: INTEGER?, batchSize :: INTEGER?, batches :: INTEGER?, done :: BOOLEAN?, data :: STRING?)

输入参数

名称 类型 默认

file

STRING?

null

config

MAP?

null

输出参数

名称 类型

file

STRING?

source

STRING?

format

STRING?

节点

整数?

relationships

整数?

属性

整数?

time

整数?

rows

整数?

batchSize

整数?

batches

整数?

done

布尔值?

data

STRING?

安装依赖

为了加载 XLS 文件,我们使用了 Apache POI 库,它能很好地处理旧版和新版 Excel 格式,但体积较大。因此我们决定不将其包含在 apoc jar 包中,而是将其作为可选依赖项。

这些依赖项已包含在 apoc-xls-dependencies-2025.10.0-all.jar 中,可从 发布页面 下载。下载该文件后,应将其放置在 plugins 目录中并重启 Neo4j 服务器。

或者,您可以从 Maven 仓库下载这些 jar 包(同样需要放入 plugins 目录中)

针对 XLS 文件

使用示例

本节中的示例基于以下示例图

CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967})
CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961})
CREATE (Hugo:Person {name:'Hugo Weaving', born:1960})
CREATE (LillyW:Person {name:'Lilly Wachowski', born:1967})
CREATE (LanaW:Person {name:'Lana Wachowski', born:1965})
CREATE (JoelS:Person {name:'Joel Silver', born:1952})
CREATE
(Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix),
(Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrix),
(Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrix),
(Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix),
(LillyW)-[:DIRECTED]->(TheMatrix),
(LanaW)-[:DIRECTED]->(TheMatrix),
(JoelS)-[:PRODUCED]->(TheMatrix);

下方的 Neo4j Browser 可视化显示了导入的图

play movies

apoc.export.xls.all 过程将整个数据库导出为 XLS 文件。

以下查询将整个数据库导出到文件 movies.xls

CALL apoc.export.xls.all("movies.xls", {});
表 1. 结果
file source format 节点 relationships 属性 time rows batchSize batches done data

"movies.xls"

"database: nodes(8), rels(7)"

"xls"

8

7

21

102

15

20000

1

TRUE

NULL

movies.xls 包含针对每个节点标签和关系类型的独立工作表。在此示例中,它包含以下工作表

  • Movie

  • Person

  • ACTED_IN

  • DIRECTED

  • PRODUCED

我们可以使用 apoc.load.xls 查询这些工作表的内容。让我们查看其中的几张工作表

CALL apoc.load.xls("file://movies.xls", "Movie");
表 2. 结果
行号 list Map

0

[0, 1999, "Welcome to the Real World", "The Matrix"]

{tagline: "Welcome to the Real World", <nodeId>: 0, title: "The Matrix", released: 1999}

CALL apoc.load.xls("file://movies.xls", "ACTED_IN");
表 3. 结果
行号 list Map

0

[0, 1, 0, "Neo"]

{<startNodeId>: 1, <endNodeId>: 0, <relationshipId>: 0, roles: "Neo"}

1

[1, 2, 0, "Trinity"]

{<startNodeId>: 2, <endNodeId>: 0, <relationshipId>: 1, roles: "Trinity"}

2

[2, 3, 0, "Morpheus"]

{<startNodeId>: 3, <endNodeId>: 0, <relationshipId>: 2, roles: "Morpheus"}

3

[3, 4, 0, "Agent Smith"]

{<startNodeId>: 4, <endNodeId>: 0, <relationshipId>: 3, roles: "Agent Smith"}

© . This site is unofficial and not affiliated with Neo4j, Inc.