Suchen Sie eine zusammengefügte Zelle in Excel, teilen Sie die Zellen auf und schreiben Sie sie in eine neue Tabelle?

8

Ich habe eine Zuweisung erhalten, die ich brauche, um die Daten einer Tabelle zu teilen und sie in die neue Tabelle zu schreiben. Die Bedingungen sind, vorausgesetzt, Spreadsheet kann mehrere Zahlen von zusammengeführten Zellen haben, und ich muss diese zusammengeführten Zellen finden und diese Daten in einem neuen SpreadSheet schreiben. dh die Daten oder Zellen zwischen einer verbundenen Zelle bis zu einer anderen zusammengeschlossenen Zelle müssen in eine andere Tabelle geschrieben werden.

Mein Code of Effort ist unten angegeben,

%Vor%

Mit diesem Code habe ich das Klonen der Tabelle in ein anderes neues Blatt erreicht. Hier finde ich die zusammengefügte Zelle nicht, getMergedCellRegionAt () hilft mir und gibt die verbundene Zellregion wie A: 4 D: 12 so zurück. wie gehe ich damit fort? Bitte hilf mir, deine kleine Anstrengung wird geschätzt. Danke im Voraus.

    
Java_User 30.08.2013, 09:27
quelle

3 Antworten

13

Nach Javadocs für HSSFSheet , getMergedCellRegionAt() wurde 2008 abgelehnt, da die Region , die zurückgegeben wird, ebenfalls zugunsten von CellRangeAddress abgelehnt wurde. Es empfiehlt sich, getMergedRegion(int) stattdessen, die ein CellRangeAddress zurückgibt.

Die Daten der zusammengeführten Region werden nicht direkt mit den Zellen selbst, sondern mit dem Objekt Sheet gespeichert. Sie müssen also nicht durch Zeilen und Zellen, die nach einem Teil einer zusammengeführten Region suchen, suchen. Sie müssen nur die Liste der zusammengeführten Bereiche auf dem Arbeitsblatt durchgehen und dann die verschmolzene Region zu Ihrem neuen Arbeitsblatt hinzufügen mit addMergedRegion(CellRangeAddress) .

%Vor%

Diese Methoden in HSSFSheet befinden sich in Sheet Schnittstelle, so dass sie mit jeder Excel-Arbeitsmappe arbeiten, die Apache POI unterstützt, .xls (HSSF) oder .xlsx (XSSF).

    
rgettman 30.08.2013, 17:22
quelle
3

Die verbundenen Zellen haben ihren Wert in der ersten Zelle.

Die folgende Methode gibt den Wert der Region zurück, die die Zeile und Spalte der ersten Zelle in der zusammengeführten Region enthält

%Vor%     
Sorter 06.01.2015 13:06
quelle
1

rgettmans Antwort ist völlig korrekt.

Java 8

Ich wollte nur eine Lösung für Java 8 mit Streams hinzufügen:

%Vor%     
winklerrr 11.08.2015 14:27
quelle

Tags und Links