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 メソッドの入力引数の型がありません (文字列テスト?)
  • コードは多くの点で壊れています。エラー処理などのために、ファイルを 2 回読み取るコードを複製しました。

Java に関する優れたチュートリアルを読むと、ここで大いに役立ちます。Java と Excel に関する優れたチュートリアルがここにあります。Java アプリケーションのエントリである main メソッドに注意してください。

于 2013-03-26T13:51:56.077 に答える
0

sample2 メソッドの識別子「test」が原因で、コードはコンパイルされません。それを削除してプログラムを実行するには:

次のメソッドを追加するだけです。

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