You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用spark-excel读取Excel时,如何仅读取值而非公式?

解决方案

要确保使用com.crealytics:spark-excel读取Excel时仅获取单元格值(包括跨工作表公式的计算结果),可以按以下方式调整配置:

关键参数说明

  • readFormula: false:核心配置,强制读取单元格的计算后的值,而非公式文本本身。
  • usePlainNumberFormat: true:可选优化配置,确保数值类型单元格以原始数值格式读取,避免格式转换导致的异常。
  • dataAddress:需明确指定目标工作表,格式如'目标工作表名'!A1(或具体单元格范围),确保精准读取目标区域。

调整后的代码

sparkDF = spark.read.format("com.crealytics.spark.excel")
    .option("header", "true")
    .option("maxRowsInMemory", 100)
    .option("inferSchema", "true")
    .option("dataAddress", "'目标工作表名'!A1")  # 明确指定目标工作表
    .option("readFormula", "false")
    .option("setErrorCellsToFallbackValues", "true")
    .option("usePlainNumberFormat", "true")  # 新增,优化数值读取效果
    .load(filepath)

额外注意事项

  • 确保Excel文件已保存公式计算结果:如果跨工作表公式未完成计算并保存,库可能无法读取到正确的计算值(Spark-Excel依赖Excel文件中缓存的计算结果)。
  • 若仍有公式文本被读取,检查dataAddress是否准确指向目标工作表,避免误读处于公式编辑状态的单元格。

内容的提问来源于stack exchange,提问作者kiran kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:33:10