加载 Excel (XLS)
库要求
为了加载 XLS 文件,我们使用了 Apache POI 库,它能很好地处理旧版和新版 Excel 格式,但体积较大。因此我们决定不将其包含在 apoc jar 包中,而是将其作为可选依赖项。
这些依赖项已包含在 apoc-xls-dependencies-2025.10.0-all.jar 中,可从 发布页面 下载。下载该文件后,应将其放置在 plugins 目录中并重启 Neo4j 服务器。
或者,您可以从 Maven 仓库下载这些 jar 包(同样需要放入 plugins 目录中)
使用
apoc.load.xls 的用法与 apoc.load.csv 类似,主要区别在于它能够选择工作表或工作表中的某个范围进行加载。
您可以按名称(如 'Kids')选择工作表,也可以按偏移量(如 'Results!B2:F3')选择。
CALL apoc.load.xls({url}, {工作表名称}, {配置})
{config} 参数是一个映射 (map)
| 名称 (name) | description(描述) |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在 dateParse 中,匹配到的第一个格式将返回格式化后的日期,否则将返回错误 在 |
apoc.load.xls 示例
CALL apoc.load.xls('file:///path/to/file.xls','Full',{mapping:{Integer:{type:'int'}, Array:{type:'int',array:true,arraySep:';'}}})
CALL apoc.load.xls('http://bit.ly/2nXgHA2','Kids')
关于 type/dateFormat 和 dateParse 的一些示例
CALL apoc.load.xls('test_date.xlsx','sheet',{mapping:{Date:{type:'String'}}})
CALL apoc.load.xls('test_date.xlsx','sheet',{mapping:{Date:{type:'String',dateFormat:'iso_date'}}})
CALL apoc.load.xls('test_date.xlsx','sheet',{mapping:{Date:{type:'String',dateParse:["wrongPath", "dd-MM-yyyy", "dd/MM/yyyy", "yyyy/MM/dd", "yyyy/dd/MM", "yyyy-dd-MM'T'hh:mm:ss"]}}})