2017-01-09 5 views
0

Ich habe ein Excel-Blatt, das so aussieht.Apache POI: Identifizieren Rohtabellen in Excel-Blatt

enter image description here

Ich wünsche, diese Datei zu durchqueren und den Anfang und das Ende der einzelnen Tabellen hinweisen. zB: Tabelle 1 => a1: b2, Tabelle 2 => d1: g2. Es kann mehrere solcher Tabellen geben.

Ich bin auf der Suche nach dem Algorithmus oder Schritte, um dies zu tun. Ich kann es dann selbst programmieren. Das Problem hier ist, dass ich die Excel-Tabelle Zeile für Spalte scannte, so dass ich b1 als das Ende der ersten Tabelle begegnete, die ich bis a2 und b2 durchlaufe. Später muss ich zurück zu Zeile 1 springen und nach Tabelle 2 suchen.

+1

Vielleicht könnten Sie einige Hintergrundinformationen geben, warum Sie diese Tabellen identifizieren möchten. Möchten Sie Daten dieser generierten Berichte extrahieren oder die Zellstile festlegen ...? Haben Sie die Kontrolle über die Generation selbst? – kiwiwings

+0

Die obige Datei ist eine Vorlagendatei. Sobald ich in der Lage bin, die Tabellen zu identifizieren, erstelle ich eine Struktur und benutze sie dann, um eine andere Excel-Datei zu durchlaufen, in der sich Daten befinden. Diese Vorlagendatei ist im Grunde eine Zuordnung zwischen den Spaltenüberschriften usw. zu den tatsächlichen Daten. Macht das Sinn? – user1908559

+0

Verwenden Sie die erste Zeile in Ihrer Vorlage, um Anfang und Ende der Tabellen zu markieren. Zum Beispiel (aus Ihrem Bild) füge Header-Bericht _name nicht hinzu, sondern markiere den Beginn der ersten Tabelle in "A1" und end in "B1", markiere den Anfang der zweiten Tabelle in "D1" und end in "G1". Dann lesen Sie Zeile 1, um die Tabellenanfang/-ende zu bestimmen. Wenn Sie fertig sind, haben Sie diese Informationen und dann können Sie die Markierungen löschen und Header-Bericht _name programmgesteuert zusammenführen. –

Antwort

0

Ich bin mir nicht sicher, aber Sie müssen möglicherweise alles manuell tun. Sie können keine Tabellenwerte, nur Zellen, zuweisen.