apache poi - Spalten zählen

K

käsä

Gast
Hallo.

Habe ein Problem mit Apache POI.
Versuche herauszufinden wie man die anzahl Spalten zählen kann?

Kann jemand helfen?
gruss
 
S

SlaterB

Gast
jedes Excel-Arbeitsblatt hat seine 256 Spalten,
was willst du zählen? nicht leere? schau dir doch alle Felder an
 
K

käsä

Gast
ich lese eine excel datei ein und zeige die daten in einer jtable. das jtable hat ein model dahinter (AbstractTableModel)

bei der methode getColumnCount() weiss ich nicht wie weiter. ich finde keine methode bei apache poi die mir die columnCount liefert.

mein Code:

Java:
public class Model extends AbstractTableModel {
	List			sheetData;
	XSSFWorkbook	workbook;
	XSSFSheet		sheet;

	public Model() {
		String filename = "C:\\Users\\kmustafi\\Desktop\\mappe1.xlsx";
		sheetData = new ArrayList();
		FileInputStream fis = null;

		try {
			fis = new FileInputStream(filename);
			workbook = new XSSFWorkbook(fis);
			sheet = workbook.getSheetAt(0);
			Iterator rows = sheet.rowIterator();

			while (rows.hasNext()) {
				XSSFRow row = (XSSFRow) rows.next();
				Iterator cells = row.cellIterator();

				List data = new ArrayList();
				while (cells.hasNext()) {
					XSSFCell cell = (XSSFCell) cells.next();
					data.add(cell);
				}
				sheetData.add(data);
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (fis != null) {
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

		for (int i = 0; i < sheetData.size(); i++) {
			List list = (List) sheetData.get(i);
			for (int j = 0; j < list.size(); j++) {
				XSSFCell cell = (XSSFCell) list.get(j);
				System.out.print(cell.getRichStringCellValue().getString());
				if (j < list.size() - 1) {
					System.out.print(", ");
				}
			}
			System.out.println("");
		}
	}

	public int getColumnCount() {
		//Komme hier nicht weiter
		return 0;
	}

	public int getRowCount() {
		return sheetData.size();
	}

	public Object getValueAt(int row, int col) {
		return sheet.getRow(row).getCell(col);
	}
}
 

nrg

Top Contributor
das Problem ist, dass jede Zeile unterschiedlich viele Spalten haben kann. Wenn du dir sicher gehen kannst, dass es eine "voll-tabellarische Ansicht" (was besseres fiel mir nicht ein :D = gleiche Anzahl Spalten in jeder Zeile), steckt imho deine Spaltenzahl in Line 19.

Ausserdem ist deine Datenhalten nicht wirklich typsicher. Ich könnte dir nicht auf den ersten Blick sagen, was da am Ende alles drin ist (edit: damit meine ich, dass eine Liste von Arrays o.ä. schöner wäre. Damit hättest die Spaltenanzahl pro Zeile auch im Arrayattribut length - wie du es ja jetzt schon mit list.size() für die Zeilen machst).
 
S

SlaterB

Gast
ColumnCount ist die maximale Länge einer data-Liste in sheetData,

warum erstellst du überhaupt sheetData wenn du dann in getValueAt() direkt auf das sheet zugreifst?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M FTP-Verbindung mit Apache Commons Net Java Basics - Anfänger-Themen 5
P apache.poi Java Basics - Anfänger-Themen 9
D Apache HTTPClient für alle Fälle Java Basics - Anfänger-Themen 41
P Apache Derby wird in Eclipse trotz Anbindung nicht gefunden Java Basics - Anfänger-Themen 6
P NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap trotz vorhandener Klasse? Java Basics - Anfänger-Themen 10
P Maven-Dependencies (package org.apache.http.nio does not exist) Java Basics - Anfänger-Themen 6
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
J Apache Poi - createCell() Methode akzeptiert keinen Index aus for-schleife als Parameter Java Basics - Anfänger-Themen 4
Bluedaishi Apache Tomcat 9 Java Basics - Anfänger-Themen 7
O Apache POI Zeilenfarbe Java Basics - Anfänger-Themen 2
M Apache POI PPT - Vertikales Alignment von Text im XSLFAutoShape Java Basics - Anfänger-Themen 2
O Apache: Log-Settings werden nicht gezogen Java Basics - Anfänger-Themen 0
D Apache POI Tabelle wechseln Java Basics - Anfänger-Themen 2
E Apache Derby mit Eclipse Java Basics - Anfänger-Themen 2
K Apache POI Excel Letzte Reihe einer bestimmten Spalte Java Basics - Anfänger-Themen 1
O Problem mit optionalen Argumenten - Apache CLI - Java Basics - Anfänger-Themen 2
S Prüfen ob Zelle in Excel leer ist funktioniert nicht (Apache POI) Java Basics - Anfänger-Themen 18
D Daten mit Apache POI in eine Excel Datei schreiben Java Basics - Anfänger-Themen 5
O POI Apache sheet scanner Java Basics - Anfänger-Themen 1
Joew0815 Error org.apache.xmlrpc.client.XmlRpcClientConfigImpl.setUserAgent Java Basics - Anfänger-Themen 2
S Wie bestehende Excel-Einträge mit neuen Vergleichen (mit Apache POI)? Java Basics - Anfänger-Themen 0
D Apache POI - XWPF - MS Word Java Basics - Anfänger-Themen 0
T Apache POI (Excel) - Probleme mit Zahlenformat Java Basics - Anfänger-Themen 2
U Apache Ant Java Basics - Anfänger-Themen 4
B Apache: jar-Datei Download als jar und nicht als zip Java Basics - Anfänger-Themen 4
D Import von import org.apache.commons.math3...... Java Basics - Anfänger-Themen 2
E apache-commons-net einbinden. Java Basics - Anfänger-Themen 18
Gossi Datentypen Probleme mit Apache Poi Java Basics - Anfänger-Themen 2
B org.apache.commons.... Folder in Projekt einfügen Java Basics - Anfänger-Themen 6
S org.apache.commons.net.* Java Basics - Anfänger-Themen 3
J Classpath Apache POI Java Basics - Anfänger-Themen 14
N Apache POI pptSlide erzeugen Java Basics - Anfänger-Themen 2
G Apache POI Filter erstellen Java Basics - Anfänger-Themen 14
G Mit Apache POI Kopfzeilen definieren Java Basics - Anfänger-Themen 11
Strahlungsleck Datentypen Apache Poi & Excel Datumsformat Java Basics - Anfänger-Themen 4
D Apache Commons Telnet Java Basics - Anfänger-Themen 2
A Apache POI - HSSF vs. XSSF Problem Java Basics - Anfänger-Themen 4
K Apache Deby installieren? Java Basics - Anfänger-Themen 3
P "import" org.apache.xxxxxxx Java Basics - Anfänger-Themen 18
J Problem bei Apache ANT Java Basics - Anfänger-Themen 2
G http-Port beim Apache Tomcat ändern Java Basics - Anfänger-Themen 1
G org.apache.commons.httpclient Java Basics - Anfänger-Themen 3
G Apache Tomcat startet nicht da JAVA_HOME nicht definiert Java Basics - Anfänger-Themen 3
G Context Listener des Apache Tomcat verwenden Java Basics - Anfänger-Themen 4
alexpetri installation einer WAR datei auf apache Java Basics - Anfänger-Themen 3
G http-Request auf Apache Tomcat Java Basics - Anfänger-Themen 13
Y Problem mit org.apache.commons.httpclient Java Basics - Anfänger-Themen 3
E Apache jakarta fehler Java Basics - Anfänger-Themen 5
K MySQL-Connector auf Apache Java Basics - Anfänger-Themen 4
S HttpClient von apache benutzen? Java Basics - Anfänger-Themen 2
G StringUtils von jakarta.apache.org/commons/lang/api einbauen Java Basics - Anfänger-Themen 3
D Apache.Xerces unter Eclispe? import/plugin/package? Java Basics - Anfänger-Themen 2
richis-fragen TableColumModel passt nur die aktuell zu sehenden Spalten an Java Basics - Anfänger-Themen 4
districon 2D Array - Zeilen und Spalten durchsuchen Java Basics - Anfänger-Themen 3
I 12 Spalten von jeweils 30 Zahlen in Konsole ausgeben Java Basics - Anfänger-Themen 6
P JSON-Array auf Excel-Spalten verteilen? Java Basics - Anfänger-Themen 5
M Best Practice Verschieben einzelner Spalten eines JTables verhindern Java Basics - Anfänger-Themen 5
I Datei mit 2 Spalten und millionen Zeilen Java Basics - Anfänger-Themen 19
G DefaultTableModel Spalten in Array schreiben Java Basics - Anfänger-Themen 4
C Spalten Java Basics - Anfänger-Themen 6
L Zeilen und Spalten sortieren Java Basics - Anfänger-Themen 11
Q Spalten in .txt-Datei Java Basics - Anfänger-Themen 2
R Erste Schritte 2D-Array: Zeilen & Spalten ohne schleife übergeben? Java Basics - Anfänger-Themen 3
D Inhalt der Spalten einer Tabelle addieren Java Basics - Anfänger-Themen 4
C Array in Spalten angeben Java Basics - Anfänger-Themen 44
C AbstractTableModel Spalten-Namen Java Basics - Anfänger-Themen 3
E Array mit Zahlen von 1-(Zeilen*Spalten) befüllen Java Basics - Anfänger-Themen 8
T JTable Spalten zusammenfassen Java Basics - Anfänger-Themen 5
0 CSV Import - Zeilen, Spalten Java Basics - Anfänger-Themen 15
J matrix nach summe der spalten sortieren Java Basics - Anfänger-Themen 5
S bestimmtes Auslesen von Spalten eines ResultSet ? Java Basics - Anfänger-Themen 7
D excel datei Spalten lesen? Java Basics - Anfänger-Themen 7
G Tabelle mit blinden Spalten Java Basics - Anfänger-Themen 5
H 3 buttons in 3-spalten eines frames Java Basics - Anfänger-Themen 3
D JTable - Verschieben der Spalten deaktivieren <- wie? Java Basics - Anfänger-Themen 5
F Zeilen und Spalten in JTable Selektieren Java Basics - Anfänger-Themen 2
S Daten aus txt-datei einzeln nach Spalten einlesen Java Basics - Anfänger-Themen 16
M spalten in punkten ausfüllen Java Basics - Anfänger-Themen 18
R Hinzufügen von Spalten/Zeilen Java Basics - Anfänger-Themen 3
D 2 Spalten in Vector speichern. Java Basics - Anfänger-Themen 6
D Spalten-Ausgabe Java Basics - Anfänger-Themen 6
G Kann man Spalten in einer Excel-Tabelle mit Java löschen? Java Basics - Anfänger-Themen 3
S Mit line.split() leider unterschiedliche Anzahl von Spalten Java Basics - Anfänger-Themen 19
D JTextArea mit 2 Spalten Java Basics - Anfänger-Themen 5
G Vector mit "mehreren Spalten" Java Basics - Anfänger-Themen 6
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
M Häufigkeit von Wörtern zählen Java Basics - Anfänger-Themen 6
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
S Java Methodenaufrufe zählen Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
H Buchstaben zählen Java Basics - Anfänger-Themen 9
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
X Game of Life Nachbarn zählen Java Basics - Anfänger-Themen 20
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben