java的jxl读取excel文件时报错Object record is not associated with a drawing record - ignoring

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的jxl读取excel文件时报错Object record is not associated with a drawing record - ignoring相关的知识,希望对你有一定的参考价值。

我的代码
InputStream is = new FileInputStream(FilePath);
Workbook exist = Workbook.getWorkbook(is);
WritableWorkbook WWB = Workbook.createWorkbook(new File(FilePath),exist);
源文件里面是有数据的,但是创建出来的可读文件文件是空的,或者报错数据损坏等等。求解答

在WWB.close()之前调用一下write()方法,你做的是一个copy的操作,建议把new File(FilePath)中的参数换过一个,这样效果会明显一点,不然你做的是一个覆盖的操作(源文件和目标文件是同一个文件)。 参考技术A 关闭流!追问

如何关闭?

追答

is.close();
WWB .close();

参考技术B 看你这代码,貌似你做的是一个复制,你看下要不要设置数据格式什么的?追问

应该不是这个问题

Java 读取excel表格文件

注意,本文使用的Jar包为jxl.jar,只能处理97-03版本xls格式的Excel

jar包

maven依赖:

<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.10</version>
</dependency>

jar包maven下载地址

使用

读取xls文件


//通过文件IO,读入一个xls文件
Workbook book = Workbook.getWorkbook(new File(path));

//获得第一个工作表对象(ecxel中sheet的编号从0开始,0,1,2,3,....)
Sheet sheet = book.getSheet(0);

//遍历每一行内容
for (int i = 0; i <sheet.rows; i++) {
    //getCell获得单元格,参数为(列,行)的下标
    System.out.println(sheet.getCell(0, i).getContents());
}

写出xls文件

File xlsFile = new File("jxl.xls");
// 创建一个工作簿
WritableWorkbook workbook = Workbook.createWorkbook(xlsFile);
// 创建一个工作表
WritableSheet sheet = workbook.createSheet("sheet1", 0);
//遍历每一行,写出数据
for (int row = 0; row < 10; row++){
    for (int col = 0; col < 10; col++){
        // 向工作表中添加数据
        sheet.addCell(new Label(col, row, "data" + row + col));
    }
}
workbook.write();
workbook.close();

以上是关于java的jxl读取excel文件时报错Object record is not associated with a drawing record - ignoring的主要内容,如果未能解决你的问题,请参考以下文章

导出excel报错:java.lang.ClassNotFoundException: jxl.format.CellFormat

java 读取excel 文件 Unable to recognize OLE stream 错误

java用jxl读取网页上下载的excel文件,怎么识别?求解答

急!!!java用poi导出excel文件,打开导出的文件时报错“文件错误,数据可能丢失”

如何使用 JXL 2.6.12 jar 读取 excel 文件

JAVA利用jxl读取Excel内容