Guten Morgen zusammen ,
ich habe folgendes Problem:
Ich soll aus einem von Java geöffneten Excel-Doc bestimmte Zellen kopieren und diese dann in ein neues Excel-Doc einfügen.
(pro Dokument(ca.40)/ 12 Zellen.
Das Öffnen der Dokumente klappt bereits. Allerdings bereitet mir das Kopieren noch Schwierigkeiten bei der Umsetzung.
Ich arbeite mit der jexcelapi.
Hier erstmal der Java-Code
Auskommentieren System.out.Println sind nur für Testzwecke gedacht und eigentlich irrelevant.
Die Klasse verwendet eine Methode aus einer anderen Klasse zum Öffnen der Excel-Sheets, diese hab ich jedoch nicht beigefügt, da sie für mein Problem irrelevant sein sollte.
Folgendes Gedankenkonzept habe ich mir aufgestellt(zum Kopiervorgang).
for{ // dient einfach als Schleife um den Vorgang zu wiederholen
if( // bestimmter Wert einer Zelle muss 1 sein um die darunterliegenden Zellen zu kopieren
for{ // erneute Schleife, da die zu kopierenden Zellen pro Spalte immer 8 Zellen auseinander liegen
for{ // Schleife in der der eigentliche Kopiervorgang in das neue Dokument ausgeführt werden soll
Das Konzept , soll natürlich ineinander verschachtelt sein.
Ersteinmal die Frage ob die Idee zur Ausführung richtig ist.
Und dann natürlich noch wie ich diese am besten umsetzen kann.
Ich hoffe ich konnte mein Anliegen einigermaßen verständlich erklären, da ich das Thema recht komplex finde , entschuldigt sollte es an mancher Stelle etwas unklar sein. Ich werde versuchen, Unklarheiten zu beseitigen.
Danke im Vorraus,
Declade
ich habe folgendes Problem:
Ich soll aus einem von Java geöffneten Excel-Doc bestimmte Zellen kopieren und diese dann in ein neues Excel-Doc einfügen.
(pro Dokument(ca.40)/ 12 Zellen.
Das Öffnen der Dokumente klappt bereits. Allerdings bereitet mir das Kopieren noch Schwierigkeiten bei der Umsetzung.
Ich arbeite mit der jexcelapi.
Hier erstmal der Java-Code
Java:
package reader;
import java.io.File;
import java.io.IOException;
import reader.JavaOpenFile;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadExcel {
public static String pfad;
private String inputFile;
public static int value;
public static int valid;
public static int lastreport;
public void setInputFile(String inputFile) {
this.inputFile = inputFile;
}
public int read() throws IOException {
File inputWorkbook = new File(inputFile);
Workbook w;
int entries=0;
try {
w = Workbook.getWorkbook(inputWorkbook);
Sheet sheet = w.getSheet(0); // Get the first sheet
//System.out.println("sheet 0 selected!");
entries = sheet.getRows();
//System.out.println("number of rows" + entries);
for (int i = 0; i < entries;i++) {
Cell cell = sheet.getCell(0, i);
pfad = cell.getContents();
//System.out.println("cell read" + i + pfad);
JavaOpenFile.main(pfad);
//JavaOpenFile file = new JavaOpenFile(pfad1);
// HIER SOLL DAS KONZEPT ENTSTEHEN (hoffe ich)
Workbook workbook = Workbook.getWorkbook(new File("new.xls"));
Sheet sheet1 = workbook.getSheet(100);
Cell policies[] = sheet1.getColumn(100);
else{
return lastreport;
}
}
} catch (BiffException e) {
e.printStackTrace();
}return entries;
}
public static void main(String[] args) throws IOException {
ReadExcel test = new ReadExcel();
test.setInputFile("c:/temp/test2.xls");
// an dem Pfad liegt das Dokument, in dem die Pfade für die zu öffnenden Excel-Docs liegen
test.read();
}
}
Auskommentieren System.out.Println sind nur für Testzwecke gedacht und eigentlich irrelevant.
Die Klasse verwendet eine Methode aus einer anderen Klasse zum Öffnen der Excel-Sheets, diese hab ich jedoch nicht beigefügt, da sie für mein Problem irrelevant sein sollte.
Folgendes Gedankenkonzept habe ich mir aufgestellt(zum Kopiervorgang).
for{ // dient einfach als Schleife um den Vorgang zu wiederholen
if( // bestimmter Wert einer Zelle muss 1 sein um die darunterliegenden Zellen zu kopieren
for{ // erneute Schleife, da die zu kopierenden Zellen pro Spalte immer 8 Zellen auseinander liegen
for{ // Schleife in der der eigentliche Kopiervorgang in das neue Dokument ausgeführt werden soll
Das Konzept , soll natürlich ineinander verschachtelt sein.
Ersteinmal die Frage ob die Idee zur Ausführung richtig ist.
Und dann natürlich noch wie ich diese am besten umsetzen kann.
Ich hoffe ich konnte mein Anliegen einigermaßen verständlich erklären, da ich das Thema recht komplex finde , entschuldigt sollte es an mancher Stelle etwas unklar sein. Ich werde versuchen, Unklarheiten zu beseitigen.
Danke im Vorraus,
Declade