在R中,我试图将Excel工作簿保存为二进制工作表(.xlsb(,而不是标准(.xlsx或.xls(方法。使用像openxlsx或xlsx这样的包是不起作用的,因为它们不能将文件转换为二进制格式。我一直在挖掘,发现了excel.link包,但它一直在破坏我的R会话,似乎不能及时工作。
有人知道实现这一点的方法吗?
否,Excel二进制格式是Microsoft使用的专有编码/压缩格式,不共享。您只能在excel中查看和编辑二进制文件。有什么原因不能将它们保存为csv或常规excel文件吗?如果它太大,你可以用将其保存为gzip文件
data.table::fwrite(file, "filename.gzip")
可以使用R包RDCOMClient 将XLSX文件转换为XLSB
library(RDCOMClient)
path_XLSX_File <- "C:\...\xlsx_File.xlsx"
path_XLSB_File <- "C:\...\xlsb_File.xlsb"
xlApp <- COMCreate("Excel.Application")
xlApp[['Visible']] <- FALSE
xlWbk <- xlApp$Workbooks()$Open(path_XLSX_File)
xlWbk$SaveAs(path_XLSB_File, 50)
xlWbk$Close()
xlApp$Quit()
有关所有格式,请参阅https://learn.microsoft.com/en-us/previous-versions/office/developer/office-2010/ff198017(v=办公室.14(;XLSB";格式是";xlExcel12";。