The writexl package: zero dependency xlsx writer for R

Tags: #<Tag:0x00007f27cf061640> #<Tag:0x00007f27cf061578> #<Tag:0x00007f27cf0614b0>

Author: Jeroen Ooms

We have started working on a new rOpenSci package called writexl. This package wraps the very powerful libxlsxwriter library which allows for exporting data to Microsoft Excel format.

Read the rest at

Dear Mr Jeroen,
I have installed our writexl pacakage. I am able to write a data frame into an xlx to file. I want to know the location of the file so that I can open it in excel package and edit that.
Kanagaraj Easwaran

Hi, the writexl::write_xlsx has a path argument (See ?writexl::write_xlsx). Set this to the location of your choice when saving your data.frame.

Hello! I noticed that writexl has problems with big chunks of text:
“String exceeds Excel’s limit of 32,767 characters.”
openxslx and WriteXLS seem to be fine with the same data, even if the first creates slightly corrupted files (but excel can usually fix them) and the second is terribly slow.

ping @jeroenooms any ideas?

This is a cross post of: Error in libxlsxwriter: 'String exceeds Excel's limit of 32,767 characters.' · Issue #52 · ropensci/writexl · GitHub

Excel does not support strings of more than 32,767 characters. If you want to write those, you need to convert to preprocess the data beforehand. I don’t think that creating “slighlty corrupted” files is desirable behavior.

WriteXLS does create files that don’t complain on opening though, even if it takes ages (maybe because of the Perl layer). About openxls the “complains” happens just with big files and it simply asks you if you trust the file. Then it logs this (I translated the italian parts and obscured the paths):

`<?xml version=** "1.0" **encoding=** "UTF-8" **standalone=** "yes"**?>

<recoveryLog xmlns**=>Restore result intest1.xml

Found errors in file '///test.xlsx’<repairedRecords** summary**=“Follows a list of the restoring operations:”>Restored record: String property from part /xl/sharedStrings.xml (String)**`

Just in case it may be useful for you.