Hallo,
ich arbeite mich gerade in POI ein (HSSF/.xls) und bin jetzt auf das lesen, bearbeiten und speichern einer Ecxel-Tabelle gestoßen. Ich wollte also wie in meiner Hilfe (Busy Developers' Guide to HSSF and XSSF Features) beschreiben eine Datei auslesen, und bearbeiten. Das ging auch ganz gut... bis ich die einzulendene Datei änderte!
Wenn ich: InputStream inp = new FileInputStream("D:/workbook.xls"); stehen lasse geht es! (Zeile 23) Wenn ich aber jetzt workbook2.xls (JA die Datei gibt es) schreibe gibt er mir einen Fehler! (siehe unten) :bahnhof:
Kann mir bitte jemand Helfen und sagen was ich falsch mache?!?
Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at de.deutscherv.bund.geraeteverzeichnis.LesenUndSchreiben.main(LesenUndSchreiben.java:31)
Ich hoffe ihr versteht was ich meine.
mfg
ehc
ich arbeite mich gerade in POI ein (HSSF/.xls) und bin jetzt auf das lesen, bearbeiten und speichern einer Ecxel-Tabelle gestoßen. Ich wollte also wie in meiner Hilfe (Busy Developers' Guide to HSSF and XSSF Features) beschreiben eine Datei auslesen, und bearbeiten. Das ging auch ganz gut... bis ich die einzulendene Datei änderte!
Wenn ich: InputStream inp = new FileInputStream("D:/workbook.xls"); stehen lasse geht es! (Zeile 23) Wenn ich aber jetzt workbook2.xls (JA die Datei gibt es) schreibe gibt er mir einen Fehler! (siehe unten) :bahnhof:
Kann mir bitte jemand Helfen und sagen was ich falsch mache?!?
Java:
package na.meins;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class LesenUndSchreiben {
/**
* @param args
*/
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
InputStream inp = new FileInputStream("D:/workbook.xls");
HSSFWorkbook wb = new HSSFWorkbook(inp);
Sheet sheet = wb.getSheetAt(0);
Row row = sheet.getRow(1);
Cell cell = row.getCell(0);
if (cell == null)
cell = row.createCell(3);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("BEARBEITET");
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbookbearbeitet.xls");
wb.write(fileOut);
fileOut.close();
}
}
Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at de.deutscherv.bund.geraeteverzeichnis.LesenUndSchreiben.main(LesenUndSchreiben.java:31)
Ich hoffe ihr versteht was ich meine.
mfg
ehc