Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用POI运行这个读取excel的程序_Java_Eclipse - Fatal编程技术网

Java 如何使用POI运行这个读取excel的程序

Java 如何使用POI运行这个读取excel的程序,java,eclipse,Java,Eclipse,我尝试在eclipse中运行这段代码,但我得到了这样一个结果:selection不包含主类型eclipse。 有人知道我会怎么做吗?我是java新手,我需要帮助! 我尝试制作的程序是使用POI读取excel文件:) 导入java.io.File; 导入java.io.FileInputStream; 导入java.util.ArrayList; 导入java.util.Iterator; 导入java.util.List; 导入org.apache.poi.hssf.usermodel.HSSF

我尝试在eclipse中运行这段代码,但我得到了这样一个结果:selection不包含主类型eclipse。 有人知道我会怎么做吗?我是java新手,我需要帮助! 我尝试制作的程序是使用POI读取excel文件:)

导入java.io.File;
导入java.io.FileInputStream;
导入java.util.ArrayList;
导入java.util.Iterator;
导入java.util.List;
导入org.apache.poi.hssf.usermodel.HSSFCell;
导入org.apache.poi.hssf.usermodel.HSSFRow;
导入org.apache.poi.hssf.usermodel.HSSFSheet;
导入org.apache.poi.hssf.usermodel.HSSFWorkbook;
导入org.apache.poi.poifs.filesystem.poifsfsystem;
公共类样本2{
私有无效样本2(测试)
FileInputStream文件=新的FileInputStream(新文件(“C:\\test.xls”);
//获取XLS文件的工作簿实例
HSSF工作手册=新的HSSF工作手册(测试);
//从工作簿中获取第一张工作表
HSSFSheet sheet=工作簿。getSheetAt(0);
//获取当前工作表中所有行的迭代器
迭代器rowIterator=sheet.Iterator();
//获取当前行所有单元格的迭代器
迭代器cellIterator=row.cellIterator();
试一试{
FileInputStream文件=新的FileInputStream(新文件(“C:\\test.xls”);
//获取XLS文件的工作簿实例
HSSF工作簿=新的HSSF工作簿(文件);
//从工作簿中获取第一张工作表
HSSFSheet sheet=工作簿。getSheetAt(0);
//从第一张图纸开始遍历每行
迭代器rowIterator=sheet.Iterator();
while(roweiterator.hasNext()){
行=行迭代器。下一步();
//对于每一行,遍历每一列
迭代器cellIterator=row.cellIterator();
while(cellIterator.hasNext()){
Cell=cellIterator.next();
开关(cell.getCellType()){
case Cell.Cell\u类型\u布尔值:
System.out.print(cell.getBooleanCellValue()+“\t\t”);
打破
case Cell.Cell\u类型\u数值:
System.out.print(cell.getNumericCellValue()+“\t\t”);
打破
case Cell.Cell\u类型\u字符串:
System.out.print(cell.getStringCellValue()+“\t\t”);
打破
}
}
System.out.println(“”);
}
file.close();
FileOutputStream out=
新文件输出流(新文件(“C:\\test.xls”);
练习册。写(出);
out.close();
}catch(filenotfounde异常){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}

如果没有main方法,就无法运行Java应用程序

您需要以下内容:

public static void main(String[] args) {
    sample2 s = new sample2();
    s.sample();
}
此外,您的代码包含许多错误。您是:

  • 缺少主方法
  • 资本化是错误的
  • sample2方法(字符串测试?)的输入参数上缺少类型
  • 代码在很多方面都被破坏了。您复制了代码以读取文件两次,用于错误处理等

阅读一本关于Java的好教程会对这里有很大帮助。可以找到一本关于Java和Excel的好教程,请注意主方法,即Java应用程序的条目。

由于sample2方法中的标识符“test”,您的代码将无法编译。请删除它并运行程序:

只需添加以下方法:

public static void main(String[] args) {
    new sample2().sample2();
}

我更改了它,结果是:线程“main”java.lang中出现异常。错误:未解决的编译问题:sample2.main(sample2.java:18)中的sample2类型的方法sample()未定义正确。这意味着sample方法不存在没有参数的方法。您需要删除下面“javadev”提到的“test”参数。
public static void main(String[] args) {
    new sample2().sample2();
}