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

openxlsx调用writeData、saveWorkbook生成的Excel文件损坏如何解决?

问题根本诱因

你代码中的错误是对createWorkbook()函数的传参不符合要求:该函数的第一个入参为工作簿创建者信息,而非输出文件路径。你误将输出路径传入createWorkbook(),导致生成的工作簿内部元数据结构异常,所以打开时会触发损坏修复提示。

修正后可正常运行的代码
library(openxlsx)

# 构造模拟数据框
Name <- c("Jon", "Bill", "Maria", "Ben", "Tina")
Age <- c(23, 41, 32, 58, 26)

df <- data.frame(Name, Age)

# 定义输出文件路径
output_path <- "check_corruption.xlsx"
# createWorkbook无需传入输出路径,路径仅需在保存时指定
wb <- createWorkbook() 
addWorksheet(wb, "Sheet1")

# 写入无格式数据
writeData(wb, sheet=1, df)

# 保存最终输出文件
saveWorkbook(wb, output_path, overwrite=TRUE)
效果验证
  • 运行修正代码后生成的check_corruption.xlsx可直接打开,不会弹出损坏修复提示
  • 写入的数据内容完整,和原代码预期输出一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:15:05