0

我尝试在 Eclipse 中运行此代码,但我得到了这个:选择不包含主类型 Eclipse。有谁知道我会怎么做?我是java新手,我需要帮助!我尝试制作的程序是使用 POI 读取 excel 文件!:)

import java.io.File;    
import java.io.FileInputStream;    
import java.util.ArrayList;    
import java.util.Iterator;    
import java.util.List;    
import org.apache.poi.hssf.usermodel.HSSFCell;    
import org.apache.poi.hssf.usermodel.HSSFRow;    
import org.apache.poi.hssf.usermodel.HSSFSheet;    
import org.apache.poi.hssf.usermodel.HSSFWorkbook;    
import org.apache.poi.poifs.filesystem.POIFSFileSystem;    

public class sample2 {

private void sample2(test)

FileInputStream file = new FileInputStream(new File("C:\\test.xls"));

//Get the workbook instance for XLS file 
HSSFWorkbook workbook = new HSSFWorkbook(test);

//Get first sheet from the workbook
HSSFSheet sheet = workbook.getSheetAt(0);

//Get iterator to all the rows in current sheet
Iterator<Row> rowIterator = sheet.iterator();

//Get iterator to all cells of current row
Iterator<Cell> cellIterator = row.cellIterator();


 try {

FileInputStream file = new FileInputStream(new File("C:\\test.xls"));

//Get the workbook instance for XLS file 
HSSFWorkbook workbook = new HSSFWorkbook(file);

//Get first sheet from the workbook
HSSFSheet sheet = workbook.getSheetAt(0);

//Iterate through each rows from first sheet
Iterator<Row> rowIterator = sheet.iterator();
while(rowIterator.hasNext()) {
    Row row = rowIterator.next();

    //For each row, iterate through each columns
    Iterator<Cell> cellIterator = row.cellIterator();
    while(cellIterator.hasNext()) {

        Cell cell = cellIterator.next();

        switch(cell.getCellType()) {
            case Cell.CELL_TYPE_BOOLEAN:
                System.out.print(cell.getBooleanCellValue() + "\t\t");
                break;
            case Cell.CELL_TYPE_NUMERIC:
                System.out.print(cell.getNumericCellValue() + "\t\t");
                break;
            case Cell.CELL_TYPE_STRING:
                System.out.print(cell.getStringCellValue() + "\t\t");
                break;
        }
       }
      System.out.println("");
  }
  file.close();
  FileOutputStream out = 
      new FileOutputStream(new File("C:\\test.xls"));
  workbook.write(out);
  out.close();

} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
   e.printStackTrace();

   }
4

2 回答 2

2

没有 main 方法就无法运行 Java 应用程序。

您需要以下内容:

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

您的代码也包含很多错误。你是:

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

在这里阅读一篇关于 Java 的好教程会有很大帮助。可以在这里找到关于 Java 和 Excel 的精彩教程,并注意 main 方法,即您的 Java 应用程序的入口。

于 2013-03-26T13:51:56.077 回答
0

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

只需添加以下方法:

public static void main(String[] args) {
    new sample2().sample2();
}
于 2013-03-26T13:52:53.210 回答