最近需要处理一些 电子表格,然后下了一个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();
}
}
看了一下说明文档,自己写了一段简单的程序,但是编译时老是告诉我(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();
}
}
解决方案 »
- 泛型中类型参数在静态方法中使用的问题!
- java程序中连续执行insert语句在oracle数据库插入记录报错
- 覆盖的例子的疑问
- 反编译问题。(有挑战性呀,送200分,分2次给分)------第一贴
- 关于多线程下载文件的问题
- 大家来帮帮忙!!!
- 请问大家用什么方法能够将信息转为XML与其他语言进行通讯(不用SOAP)
- 问一个 JDBC 的问题
- java和c语言他们各自在什么领域内有优势?那个比较擅长哪些编程?谁能详细讲讲?拜托大侠?
- 我想问的是,返回的 ResultSet 中的某个字段(int 型),如何放到一个 int[]数组里去。因为 ResultSet 不知道怎样取 size,我又不想用 vector, ResultSet的getArray()方法也是莫名其妙。
- 求助:实现菜单按钮open打开txt文本并将文本显示到JTextArea里。帮帮忙。
- 挂了三天的问题,谁能帮我?
比如说吧。如果一个cell单元的格式是CELL_TYPE_NUMERIC,就需要采用getNumericCellValue来获得cell的数据
如果是erro,那就需要用get erro的方法来获得数据.获取数据都是相对应的,当然。如果你确定你的数据是String的话。。当然可以只用getStringCellValue方法来获得..建议取数据时弄个方法来判断另注:分太少了点吧~~代码就不放了.哈哈
跟POI没什么关系
该为double[][] cellValue = new double[16][48];