apache 开源项目POI中HSSF(用来处理excel表的)使用中遇到的问题

amoroso1860 2006-05-12 10:17:03
最近需要处理一些 电子表格,然后下了一个APACHE.POI.HSSF用,
看了一下说明文档,自己写了一段简单的程序,但是编译时老是告诉我

(C:\test\ok\ReadHSSF.java:37: incompatible types
found : double
required: java.lang.Double
cellValue[i][j] = cell.getNumericCellValue();
^
C:\test\ok\ReadHSSF.java:41: incompatible types
found : double
required: java.lang.Double
cellValue[i][j] = (double)0;
^
2 errors)


下面是有问题的代码:

import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.poifs.filesystem.*;
import java.io.IOException;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.FileInputStream;


public class ReadHSSF
{
public static void main (String args[]) throws IOException
{
int val=1;

POIFSFileSystem fs=
new POIFSFileSystem(new FileInputStream("E:/workstation/cai3.xls"));

HSSFWorkbook wb=new HSSFWorkbook(fs);
HSSFSheet sheet1 = wb.getSheetAt(0);
//HSSFRow row = sheet1.getRow(0);
//HSSFCell cell = row.getCell((short)0);

FileWriter fw = new FileWriter("hssf.txt");
PrintWriter pw = new PrintWriter(fw);

//System.out.print(cell.getStringCellValue());

Double[][] cellValue = new Double[16][48];
for(int i=0;i<16;i++)
{
for(int j=0;j<48;j++)
{
HSSFRow row = sheet1.getRow(val);
HSSFCell cell = row.getCell((short)1);
try
{
cellValue[i][j] = cell.getNumericCellValue();
}
catch(NullPointerException e)
{
cellValue[i][j] = (double)0;
}
finally
{
pw.println(cellValue[i][j].toString()+'\r');
}
val++;
}
}

fw.close();
pw.close();


}
}
...全文
189 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaye0908 2006-05-12
  • 打赏
  • 举报
回复
cellValue[i][j] = (double)0;错了

zjq1980 2006-05-12
  • 打赏
  • 举报
回复
ioby(iii) 说的对
跟POI没什么关系
wjs2338 2006-05-12
  • 打赏
  • 举报
回复
过段时间我也得用POI来处理Excel,不知道这个包能不能支持将图片放进Excel中,或者自己用sevlet画的图能不能放进去,望知道的告诉一下
overgame 2006-05-12
  • 打赏
  • 举报
回复
POI里的数据类型是需要判断的
比如说吧。

如果一个cell单元的格式是CELL_TYPE_NUMERIC,就需要采用getNumericCellValue来获得cell的数据
如果是erro,那就需要用get erro的方法来获得数据.

获取数据都是相对应的,当然。如果你确定你的数据是String的话。。当然可以只用getStringCellValue方法来获得..建议取数据时弄个方法来判断

另注:分太少了点吧~~代码就不放了.哈哈
阿钚 2006-05-12
  • 打赏
  • 举报
回复
一个是类,一个是基本值类型!
xiehoo 2006-05-12
  • 打赏
  • 举报
回复
Double[][] cellValue = new Double[16][48];
该为double[][] cellValue = new double[16][48];

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧