java解析xlsb文件,如何在R中打开.xlsb文件?

I'm trying to open an .xlsb file in R and keep getting similar errors.

Any recommendations on how to solve this issue without having to download the data and save it in a different formate?

read.xlsx(paste(OutputLocation,FileName, sep=""), sheetName = "Master Data")

Error messages:

Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :

org.apache.poi.xssf.XLSBUnsupportedException: .XLSB Binary Workbooks are not supported

rigDataWB

Error messages:

Error: XLSBUnsupportedException (Java): .XLSB Binary Workbooks are not supported

Please note:

I cannot install Perl libraries.

I'm running 64bit R.

解决方案

Use the RODBC package:

library(RODBC)

wb

con2

data

nrow(data)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以使用Apache POI库来解析XLSB文件。 首先,需要引入POI的依赖: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> ``` 然后,可以使用以下代码来读取XLSB文件: ```java import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.xssf.usermodel.XSSFReader; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.InputStream; public class XlsbParser { public static void main(String[] args) throws Exception { // 加载XLSB文件 InputStream inputStream = XlsbParser.class.getResourceAsStream("/test.xlsb"); OPCPackage opcPackage = OPCPackage.open(inputStream); // 创建XSSFReader对象 XSSFReader xssfReader = new XSSFReader(opcPackage); // 获取所有Sheet的名称 XSSFReader.SheetIterator sheetIterator = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); while (sheetIterator.hasNext()) { InputStream sheetStream = sheetIterator.next(); String sheetName = sheetIterator.getSheetName(); System.out.println("Sheet Name: " + sheetName); // 创建XSSFWorkbook对象 XSSFWorkbook workbook = new XSSFWorkbook(sheetStream); // 获取第一个Sheet XSSFSheet sheet = workbook.getSheetAt(0); // 遍历Sheet的所有行和列 for (int i = 0; i <= sheet.getLastRowNum(); i++) { for (int j = 0; j < sheet.getRow(i).getLastCellNum(); j++) { System.out.print(sheet.getRow(i).getCell(j).getStringCellValue() + "\t"); } System.out.println(); } } } } ``` 其,`test.xlsb`为XLSB文件的路径。通过`OPCPackage`对象加载XLSB文件,并通过`XSSFReader`对象获取所有Sheet的名称,然后遍历每个Sheet的所有行和列,即可解析XLSB文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值