我在eclipse里添加了jxl包到classpath下,
编写了如下代码来进行读取excel中存储的矩阵数据的功能:
[code]
package a;
import jxl.*;
import java.io.*;
public class exceldatainput3
{
public static void main(String[] args)
{
jxl.Workbook rwb = null;
try
{
InputStream is = new FileInputStream("F:/1.xls");
rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(0);
int rsColumns = rs.getColumns();
int rsRows = rs.getRows();
for(int i=0;i<rsRows;i++)
{
for(int j=0;j<rsColumns;j++)
{
Cell cell = rs.getCell(j,i);
System.out.print(cell.getContents()+" ");
}
System.out.println();
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
rwb.close();
}
}
}
结果运行报错,好多呀:
jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
at jxl.read.biff.File.<init>(File.java:127)
at jxl.Workbook.getWorkbook(Workbook.java:268)
at jxl.Workbook.getWorkbook(Workbook.java:253)
at a.exceldatainput3.main(exceldatainput3.java:14)
Exception in thread "main" java.lang.NullPointerException
at a.exceldatainput3.main(exceldatainput3.java:35)
我不是计算机专业的,所以编程比较菜,希望高手们能指点小弟一下,谢谢大家了
编写了如下代码来进行读取excel中存储的矩阵数据的功能:
[code]
package a;
import jxl.*;
import java.io.*;
public class exceldatainput3
{
public static void main(String[] args)
{
jxl.Workbook rwb = null;
try
{
InputStream is = new FileInputStream("F:/1.xls");
rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(0);
int rsColumns = rs.getColumns();
int rsRows = rs.getRows();
for(int i=0;i<rsRows;i++)
{
for(int j=0;j<rsColumns;j++)
{
Cell cell = rs.getCell(j,i);
System.out.print(cell.getContents()+" ");
}
System.out.println();
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
rwb.close();
}
}
}
结果运行报错,好多呀:
jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
at jxl.read.biff.File.<init>(File.java:127)
at jxl.Workbook.getWorkbook(Workbook.java:268)
at jxl.Workbook.getWorkbook(Workbook.java:253)
at a.exceldatainput3.main(exceldatainput3.java:14)
Exception in thread "main" java.lang.NullPointerException
at a.exceldatainput3.main(exceldatainput3.java:35)
我不是计算机专业的,所以编程比较菜,希望高手们能指点小弟一下,谢谢大家了
你在你自己新建的工程下 如abc 下建立个lib 文家夹 把 jxl.jar
放进去
然后在右击 eclipse 里的该工程 鼠标放在 Build Path上,然后点击 Add External Archives选取刚才的abc下的 jxl.jar 就可以了
然后新建lib,把jxl.jar add external archive也还是运行不了,
我在想,这个报错 jxl.read.biff.BiffException: Unable to recognize OLE stream
是不是意味着程序根本识别不了微软格式文件的流?
改成File is = new File("F:/1.xls");
我这边运行是可以的
然后新建lib,把jxl.jar add external archive也还是运行不了,"是这样的新建lib 把jxl 考进去,然后在add external archive 路径指向的新建lib 里的jxl 是这样弄的吗?
对象还用原来的
如果说在你们自己机子上运行没有问题的话,那就只能说明
是我自己的机子设置出了问题?还是eclipse出了问题?还是说
jxl那个jar包添加的不对?还是因为我用的是excel2003?
我也想不出还有什么原因了。呵呵,我头好大呀。
实践证明是excel的版本问题 打开文本另存为Excel 97-2003 工作簿(*.xls)
就可以读取了
改成File is = new File("F://1.xls");