我试图使用java apache poi从只读xlsm读取数据,但当我使用XSSF工作簿时,它似乎无法访问该文件,而HSSF工作簿仅适用于xls文件。我的代码如下所示:
try {
FileInputStream file = new FileInputStream(new File("file.xlsm"));
System.out.println("found file");
XSSFWorkbook workbook = new XSSFWorkbook(file);
System.out.println("in workbook");
XSSFSheet sheet = workbook.getSheet("Shipments");
System.out.println("got sheet");
代码从未到达“工作簿中”打印行,我不知道为什么。请帮忙!
我复制了您的代码并给出了文件的绝对路径,我能够得到预期的结果。
FileInputStream file = new FileInputStream(new File("C:\\Users\\user\\Desktop\\filet.xlsm"));
System.out.println("found file");
XSSFWorkbook workbook = new XSSFWorkbook(file);
System.out.println("in workbook");
XSSFSheet sheet = workbook.getSheet("Shipments");
System.out.println("got sheet");
你的引用似乎有问题。因此,当您尝试创建文件资源时,请检查您引用文件的方式。
版本4.0.0有一个工作簿工厂类,带有一个布尔“readonly”参数。所以,要以只读模式打开。。。
XSSFWorkbook nextWorkbook = XSSFWorkbookFactory.createWorkbook(myFile, true);
我无法使用POI框架(HSSF)读取xlsm文件。我在读取xlsm文件时遇到以下错误。 提供的数据似乎在Office2007+XML中。您正在调用POI中处理OLE2 Office文档的部分。您需要调用POI的不同部分来处理该数据(例如XSSF而不是HSSF) 我还尝试通过XSSF读取该文件。即使那样也解决不了问题。谁能告诉我如何使用poi框架读取java代码中的xlsm文件,并为该文件编写一个新
问题内容: 如何使用Pandas读取以下(两列)数据(来自.dat文件) 列分隔符(至少)为2个空格。 我试过了 但它打印 问题答案: 您可以将参数usecols与列顺序一起使用: 编辑: 您可以使用分隔符-2个或更多空格,然后添加,因为出现警告: ParserWarning:回退到“ python”引擎,因为“ c”引擎不支持正则表达式分隔符(分隔符> 1个字符且与“ \ s +”不同的分隔符被
4.6.1.2 使用公共只读文件 这是使用文件向未指定的大量应用公开内容的情况。 如果通过遵循以下几点来实现,那么它也是比较安全的文件使用方法。 请注意,在 API 级别 1 7及更高版本中,不推荐使用MODE_WORLD_READABLE变量来创建公共文件,并且在 API 级别 24 及更高版本中,会触发安全异常; 因此使用内容供应器的文件共享方法更可取。 要点: 文件必须在应用目录中创建。 文
我使用OpenCSV进行CSV文件的读写。在I hsd安装早期版本的Java(即Java 6)之前,它工作得很好。安装完之后,我的代码就停止工作了: 线程“main”java.lang.UnsupportedClassVersionError:COM/OpenCSV/CSVReader:不支持Major.Minor版本51.0在java.lang.ClassLoader.DefineClass1(
我如何完成这个任务?
我正在尝试读取Mac上pig shell上的csv文件。我所做的只是文件到变量中,然后变量。我是这样做的: 我使用的数据是从这里提供的github下载的 此文件在我的Mac上的本地安装的hdfs中可用。当我执行时,我得到一个错误: org.apache.pig.impl.logicallayer.FrontendException:错误1066:无法打开别名影片的迭代器 在org.apache.p