【问题标题】:Can I save an Excel Workbook as a binary file using R?我可以使用 R 将 Excel 工作簿保存为二进制文件吗?
【发布时间】:2021-08-31 16:39:33
【问题描述】:

在 R 中,我尝试将 Excel 工作簿保存为二进制工作表 (.xlsb) 而不是标准(.xlsx 或 .xls)方法。使用 openxlsx 或 xlsx 之类的包不起作用,因为它们不会将文件转换为二进制格式。我一直在挖掘并找到了 excel.link 包,但它不断使我的 R 会话崩溃并且似乎无法及时工作。

有谁知道实现这一点的方法吗?

【问题讨论】:

    标签: r excel xlsb


    【解决方案1】:

    不,Excel 二进制格式是 Microsoft 使用的专有编码/压缩格式,不共享。您只能在 excel 中查看和编辑二进制文件。有什么理由不能将它们保存为 csvs 或常规的 excel 文件?如果它太大,您可以将其保存为 gzip 文件与

    data.table::fwrite(file, "filename.gzip")
    

    【讨论】:

      【解决方案2】:

      可以使用 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://docs.microsoft.com/en-us/previous-versions/office/developer/office-2010/ff198017(v=office.14)。 “XLSB”格式为“xlExcel12”。

      【讨论】:

        猜你喜欢
        • 2021-11-25
        • 1970-01-01
        • 2015-10-03
        • 2019-12-28
        • 2015-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多