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

如何在R中导入XLS/XLSM格式Excel表且所有值保持为字符类型不自动转换

R读取XLS/XLSM格式Excel强制全列为字符型方案

方案1:readxl包(通用XLS/XLSX/XLSM适配)

read_excel()的col_types参数支持传入单个全局类型值,直接设置为text即可关闭所有自动类型转换,包括日期识别、数值转换、布尔值转换全都会失效,所有单元格内容读取为字符型:

library(readxl)

daten <- read_excel(
  path = Path,
  sheet = Worksheet,
  col_names = TRUE,
  col_types = "text" # 核心配置:全局强制所有列为字符型
)

如果需要匹配单元格的格式化显示值(比如日期格式单元格显示为01.02.2018,而非Excel底层存储的日期序列号),可使用第二种方案。

方案2:openxlsx包(XLSM格式适配更优)

针对XLSM格式兼容性更好,同时支持直接匹配单元格格式的显示文本读取:

library(openxlsx)

# 读取时强制所有列为字符,关闭自动日期识别
daten <- readWorkbook(
  xlsxFile = Path,
  sheet = Worksheet,
  colNames = TRUE,
  colTypes = "character", # 全局强制所有列为字符型
  detectDates = FALSE # 禁用自动日期转换
)

效果验证

运行str(daten)即可看到所有列均为字符型,和预期输出完全一致:

str(daten) 
# Date:   chr [1:500] "01.02.2018" "01.03.2018"
# Type:   chr [1:500] "01" "01" "02"
# Option: chr [1:500] "TRUE" "FALSE"
# Exp:    chr [1:500] "0.00003" "4.322324E-5"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:36:03