Skip to content

readxl

Read Excel Files

v1.4.5 · Mar 7, 2025 · MIT + file LICENSE

Description

Import excel files into R. Supports '.xls' via the embedded 'libxls' C library <https://github.com/libxls/libxls> and '.xlsx' via the embedded 'RapidXML' C++ library <https://rapidxml.sourceforge.net/>. Works on Windows, Mac and Linux without external dependencies.

Downloads

1M

Last 30 days

59th

3M

Last 90 days

13.5M

Last year

Trend: +0.3% (30d vs prior 30d)

CRAN Check Status

1 ERROR
3 NOTE
10 OK
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang NOTE
r-devel-linux-x86_64-debian-gcc OK
r-devel-linux-x86_64-fedora-clang ERROR
r-devel-linux-x86_64-fedora-gcc OK
r-devel-macos-arm64 OK
r-devel-windows-x86_64 NOTE
r-oldrel-macos-arm64 OK
r-oldrel-macos-x86_64 OK
r-oldrel-windows-x86_64 OK
r-patched-linux-x86_64 NOTE
r-release-linux-x86_64 OK
r-release-macos-arm64 OK
r-release-macos-x86_64 OK
r-release-windows-x86_64 OK
Check details (5 non-OK)
NOTE r-devel-linux-x86_64-debian-clang

compiled code

File ‘readxl/libs/readxl.so’:
  Found non-API call to R: ‘R_NamespaceRegistry’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
ERROR r-devel-linux-x86_64-fedora-clang

re-building of vignette outputs

Error(s) in re-building vignettes:
--- re-building ‘cell-and-column-types.Rmd’ using rmarkdown

 *** caught segfault ***
address (nil), cause 'memory not mapped'

Traceback:
 1: read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim,     col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws,     guess_max = guess_max, progress = progress)
 2: tibble::as_tibble(l, .name_repair = .name_repair)
 3: set_readxl_names(read_fun(path = path, sheet_i = sheet, limits = limits,     shim = shim, col_names = col_names, col_types = col_types,     na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress),     .name_repair = .name_repair)
 4: read_excel_(path = path, sheet = sheet, range = range, col_names = col_names,     col_types = col_types, na = na, trim_ws = trim_ws, skip = skip,     n_max = n_max, guess_max = guess_max, progress = progress,     .name_repair = .name_repair, format = format)
 5: read_excel(readxl_example("type-me.xlsx"), sheet = "logi
...[truncated]...
setwd(startdir)    output <- find_vignette_product(name, by = "weave", engine = engine)    if (!have.makefile && vignette_is_tex(output)) {        texi2pdf(file = output, clean = FALSE, quiet = quiet)        output <- find_vignette_product(name, by = "texi2pdf",             engine = engine)    }}, error = function(e) {    OK <<- FALSE    message(gettextf("Error: processing vignette '%s' failed with diagnostics:\n%s",         file, conditionMessage(e)))})
40: tools:::.buildOneVignette("cell-and-column-types.Rmd", "/data/gannet/ripley/R/packages/tests-clang/readxl.Rcheck/vign_test/readxl",     TRUE, FALSE, "cell-and-column-types", "UTF-8", "/tmp/RtmpZbuK2p/working_dir/Rtmp3dtAk4/file2c3af4711923be.rds")
An irrecoverable exception occurred. R is aborting now ...
--- re-building ‘sheet-geometry.Rmd’ using rmarkdown
--- finished re-building ‘sheet-geometry.Rmd’

SUMMARY: processing the following file failed:
  ‘cell-and-column-types.Rmd’

Error: Vignette re-building failed.
Execution halted
ERROR r-devel-linux-x86_64-fedora-clang

tests

Running ‘testthat.R’
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(readxl)
  > 
  > test_check("readxl")
  
   *** caught segfault ***
  address (nil), cause 'memory not mapped'
  
  Traceback:
   1: read_fun(path = path, sheet_i = sheet, limits = limits, shim = shim,     col_names = col_names, col_types = col_types, na = na, trim_ws = trim_ws,     guess_max = guess_max, progress = progress)
   2: tibble::as_tibble(l, .name_repair = .name_repair)
   3: set_readxl_names(read_fun(path = path, sheet_i = sheet, limits = limits,     shim = shim, col_names = col_names, col_types = col_types,     na = na, trim_ws = trim_ws, guess_max = guess_max, progress = progress),     .name_repair = .name_repair)
   4: read_excel_(path = path, sheet = sheet, range = range, col_names = col_names,     col_types = col_types, na = na, trim_ws = trim_ws, skip = skip,     n_max = n_max, guess_max = guess_max, progress = progress,     .name_repair = .name_repa
...[truncated]...
onditionMessage(cnd), "\n")    NULL})
  55: with_reporter(reporters$multi, lapply(test_paths, test_one_file,     env = env, desc = desc, shuffle = shuffle, error_call = error_call))
  56: test_files_serial(test_dir = test_dir, test_package = test_package,     test_paths = test_paths, load_helpers = load_helpers, reporter = reporter,     env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     desc = desc, load_package = load_package, shuffle = shuffle,     error_call = error_call)
  57: test_files(test_dir = path, test_paths = test_paths, test_package = package,     reporter = reporter, load_helpers = load_helpers, env = env,     stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     load_package = load_package, parallel = parallel, shuffle = shuffle)
  58: test_dir("testthat", package = package, reporter = reporter,     ..., load_package = "installed")
  59: test_check("readxl")
  An irrecoverable exception occurred. R is aborting now ...
NOTE r-devel-windows-x86_64

compiled code

File 'readxl/libs/x64/readxl.dll':
  Found non-API call to R: 'R_NamespaceRegistry'

Compiled code should not call non-API entry points in R.

See 'Writing portable packages' in the 'Writing R Extensions' manual,
and section 'Moving into C API compliance' for issues with the use of
non-API entry points.
NOTE r-patched-linux-x86_64

compiled code

File ‘readxl/libs/readxl.so’:
  Found non-API call to R: ‘R_NamespaceRegistry’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.

Additional Issues

M1mac Details →

Check History

ERROR 10 OK · 3 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Apr 4, 2026
NOTE r-devel-linux-x86_64-debian-clang

compiled code

File ‘readxl/libs/readxl.so’:
  Found non-API call to R: ‘R_NamespaceRegistry’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
ERROR r-devel-linux-x86_64-fedora-clang

tests

Running ‘testthat.R’
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(readxl)
  > 
  > test_check("readxl")
  
   *** caught segfault ***
  address (nil), cause 'memory not mapped'
  
  Traceback:
   
...[truncated]...
ge = load_package, parallel = parallel, shuffle = shuffle)
  58: test_dir("testthat", package = package, reporter = reporter,     ..., load_package = "installed")
  59: test_check("readxl")
  An irrecoverable exception occurred. R is aborting now ...
NOTE r-devel-windows-x86_64

compiled code

File 'readxl/libs/x64/readxl.dll':
  Found non-API call to R: 'R_NamespaceRegistry'

Compiled code should not call non-API entry points in R.

See 'Writing portable packages' in the 'Writing R Extensions' manual,
and section 'Moving into C API compliance' for issues with the use of
non-API entry points.
NOTE r-patched-linux-x86_64

compiled code

File ‘readxl/libs/readxl.so’:
  Found non-API call to R: ‘R_NamespaceRegistry’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
NOTE 13 OK · 1 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 27, 2026
NOTE r-devel-linux-x86_64-debian-gcc

compiled code

File ‘readxl/libs/readxl.so’:
  Found non-API call to R: ‘R_NamespaceRegistry’

Compiled code should not call non-API entry points in R.

See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual,
and section ‘Moving into C API compliance’ for issues with the use of
non-API entry points.
OK 14 OK · 0 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026

Reverse Dependencies (498)

imports

ABSurvTDC AHPWR AHPtools AeroEvapR AgeBandDecomposition AgroTech AvInertia BGVAR BLSloadR BayesianDisaggregation BayesianFitForecast BrazilMet CBASSED50 CCWeights CMapViz COINr COVIDIBGE ChestVolume CoastlineFD ConSciR DCEtool DDIwR DIETCOST DIFshiny DescTools DistatisR ECOTOXr EconCausal EdSurvey EvalTest ExtendedABSurvTDC FAST.R FAfA FSK2R GCEstim GGIRread GOLDprice GWSDAT GeoWeightedModel GetTDData GiniDistance Greymodels HCUPtools HIViz HPZoneAPI HaDeX HaDeX2 Holomics IDEATools IDSL.CSA IDSL.IPA IDSL.NPA IDSL.UFA IDSL.UFAx ISRaD ImportExport InflectSSP InterVA5 KoboconnectR LearningStats LifeTableBuilder LitFetchR MEAanalysis MFO MSMGOptimizer MappingCalc MassWateR NOVA ORscraper One4All OpenMindat PAMhm PNADcIBGE PNDSIBGE PNSIBGE PODES PUPMCR PerRegMod PesticideLoadIndicator PhenoSpectra PlateVision Poly4AT PvSTATEM QTL.gCIMapping QuICSeedR QurvE R.AlphA.Home RBNZ RDML RJafroc RKaggle RLumShiny RcmdrMisc Relectoral Rtrack SAKERNAS SDAR SEAHORS SHARK4R SQI SUMO SUSENAS SangerTools SemNetCleaner SeroTrackR SerolyzeR SlimR SoilManageR SomaDataIO SqueakR StablePopulation StatsTFLValR TBA TR8 TestGenerator Trading WaterBalanceR accucor aelab aire.zmvm allMT amp.dm aweSOM bacenR baizer baytrends bcdata bestSDP bibliometrix blockr.io bootf2 breathtestcore bulkreadr capl carbonr ceas cepumd cgmanalysis chillR chromConverter climatehealth colleyRstats compIndexBuilder concatipede connector convergenceDFM covid19.analytics crosswalkr ctoclient datamods datazoom.amazonia dbGaPCheckup defineR dendRoAnalyst dextergui dmtools dosedesignR dpcR drawsample duawranglr eHDPrep earthUI easyEWAS easyr eclipseplot eirm epe4md eph epidict episomer esaps examly excel2eprime exceldata expDB ezTrack fabR fetch fio fitPS flattabler forgts formods fude ggplotgui goat googlePublicData greenfeedr growthPheno hbsaems hclusteasy hmrc hockeystick hosm htsr hydroToolkit hydrotoolbox icertool ideanet ie2misc ifo ifpd ihpdr il.cbs.muni imageData imfweo insane interca invitroTKstats iotables irtGUI irtawsi isobxr isoorbi istat joinXL jpinfect jsmodule jubilee kidney.epi knfi lavaangui leakr lehuynh libr loadeR logib ltertools maat macrocol matriz mbX mcmsupply measureR metacore metaumbrella microbiomeMQC micromapST miniMeta mintyr mipplot mlspatial mnirs modgetxl moodef novelqualcodes oglcnac olr omicsTools oncmap opendatatoronto pacta.multi.loanbook pdi pedquant pguIMP photobiologyInOut pioneeR pressuRe prior3D projectLSA puzzle pxmake qrlabelr qualitycontrol radiant.data rbiom read.abares readSX readabs readmit readmoRe readrba readtext reappraised regions replicateBE rexer rio rodeo rspacer rsurveycto scan scbursts scdhlm scicomptools sdtmval secuTrialR sendigR sfa shinyHeatmaply shinyIRT siera spatialGE sphereML spiro statAfrikR tRigon tab2xml tall tflmetaR threesixtygiving tidyCDISC tidyDenovix tidygapminder tidyklips tidyplate tidyquant tidyspec tidytlg tidyverse toxEval tpfp ubiquity unheadr upstartr vald.extractor visvaR visvow vvmover weed whippr xlsform2word

suggests

AMR ARUtools AdhereRViz AssociationExplorer2 BayesFBHborrow BioMonTools BiodiversityR CNAIM CTNote DDESONN DisaggregateTS Distance EEAaq Ecfun FARS FSAdata GGIR GeoTox GetLattesData IDSL.FSA IPV InsectLabelR LLMTranslate MSEtool MVN MaddisonData Microsoft365R MixStable MultiATSM NMOF OlinkAnalyze PCRedux PHEindicatormethods ProjectTemplate Racmacs Rcmdr RcmdrPlugin.EZR SIPDIBGE SSVS SchoolDataIT SemNeT SightabilityModel SingleCaseES Spectran SticsRFiles Ternary TextMiningGUI TreeDist TreeSearch aLBI admiral admiralneuro aggreCAT aifeducation aisdk alsi ambiorix aquodom avesperu avstrat bifrost bruceR cNORM chronochrt ciecl ckanr climatol cloudfs compareGroups convergEU cosimmr coursekata cowfootR csdata cstime datawizard datefixR deliberr dfeR disclapmix2 dynBiplotGUI eatATA educabR egnyte epitraxr eq5d eq5dsuite esmtools ezec fairGATE fairGNN file2meco framecleaner framework funtimes gageRR gcplyr geoflow georefdatar gmGeostats healthbR heemod hmsidwR httk hydrodownloadR iNZightTools inkaR itan juicedown junco k5 kernscr kfre lpirfs mammalcol manifestoR manynet memapp mergen miceadds misc misty mkin mlr3shiny optimLanduse osktnorm pacta.loanbook pctax pharmaRTF pharmaverseadam phonfieldwork placematchr plnr plumber ppitables preregr psyverse qbrms r4ds.tutorials rChEA3 rattle raw ready4 resourcer rock rotl rpanel rtemis ruminate saros secr seinfitR simDNAmixtures simmr soilFlux spant syuzhet tidytuesdayR tidyxl tongfen treasury unpivotr unvotes vcdExtra versioning wbids wrMisc wrProteo writexl xplorerr xportr

Dependency Network

Dependencies Reverse dependencies cellranger tibble DataLoader Rdiagnosislist VectorCodeR onmaRg uscoauditlog ABSurvTDC AHPWR AHPtools AeroEvapR AgeBandDecomposition AgroTech AvInertia BGVAR BLSloadR BayesianDisaggregation +483 more reverse deps readxl

Version History

new 1.4.5 Mar 10, 2026
updated 1.4.5 ← 1.4.4 diff Mar 6, 2025
updated 1.4.4 ← 1.4.3 diff Feb 26, 2025
updated 1.4.3 ← 1.4.2 diff Jul 6, 2023
updated 1.4.2 ← 1.4.1 diff Feb 8, 2023
updated 1.4.1 ← 1.4.0 diff Aug 16, 2022
updated 1.4.0 ← 1.3.1 diff Mar 27, 2022
updated 1.3.1 ← 1.3.0 diff Mar 12, 2019
updated 1.3.0 ← 1.2.0 diff Feb 14, 2019
updated 1.2.0 ← 1.1.0 diff Dec 19, 2018
updated 1.1.0 ← 1.0.0 diff Apr 19, 2018
updated 1.0.0 ← 0.1.1 diff Apr 17, 2017
updated 0.1.1 ← 0.1.0 diff Mar 27, 2016
new 0.1.0 Apr 13, 2015