использование HSSF для чтения файла excel

Emp ID Имя Зарплата

1.0 джон 2000000.0

2.0 декан 4200000.0

3,0 сам 2800000,0

4.0 касс 600000.0

Я создал этот код:

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
 {
    public static void main(String[] args) {
    new sample2().sample2();
}
 }


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();

}

для чтения содержимого из этого файла Excel с использованием библиотеки POI. Мой редактор Eclipse. Но когда я запускаю программу, я получаю следующее: Исключение в потоке "main" java.lang.Error: Нерешенная проблема компиляции: метод sample2() не определен для типа sample2

at sample2.main(sample2.java:17)

Любая помощь? Спасибо заранее!


person userefoikon    schedule 27.03.2013    source источник


Ответы (2)


public class sample2
 {
    public static void main(String[] args) {
    new sample2().sample2(); // This is wrong too.
    }
 }

Весь ваш код после этого бессмыслен. Ваш класс фактически закончился вторым }.

Возможно, вы захотите переместить все это в свой метод main().

Кроме того, этот фрагмент кода в методе main() new sample2().sample2(); неверен.

Это должно быть так

sample2 s = new sample2();
person RainMaker    schedule 27.03.2013

Удалите последнюю фигурную скобку в вашем коде:

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

} }

А затем создайте метод с именем test2() следующим образом:

public void sample2(){ //Put your code here }
person javadev    schedule 27.03.2013
comment
Я внес изменения и взял это: Исключение в потоке main java.lang.Error: Нерешенная проблема компиляции: в sample2.main(sample2.java:16) Любая идея? - person userefoikon; 27.03.2013