Filtern Sie Objekte beim Laden der Arbeitsmappe oder des Arbeitsblatts
Mögliche Nutzungsszenarien
Bitte verwendeLoadOptions.LoadFilter -Eigenschaft beim Filtern von Daten aus der Arbeitsmappe. Wenn Sie jedoch Daten aus einzelnen Arbeitsblättern filtern möchten, müssen Sie überschreibenLoadFilter.startSheet Methode. Bitte geben Sie den entsprechenden Wert aus der anLoadDataFilterOptions Aufzählung beim Erstellen oder Arbeiten mitLadefilter.
DasLoadDataFilterOptionsEnumeration hat die folgenden Werte.
- KEINER
- ALLES
- ZELLE_LEER
- CELL_STRING
- CELL_NUMERIC
- CELL_ERROR
- CELL_BOOL
- CELL_VALUE
- FORMEL
- CELL_DATA
- DIAGRAMM
- FORM
- MERGED_AREA
- BEDINGTE FORMATIERUNG
- DATENVALIDIERUNG
- PIVOT_TABLE
- TISCH
- HYPERLINKS
- BLATT_EINSTELLUNGEN
- BLATT_DATEN
- BUCH_EINSTELLUNGEN
- DIE EINSTELLUNGEN
- XML_MAP
- STRUKTUR
- DOKUMENTEIGENSCHAFTEN
- DEFINED_NAMES
- VBA
- STIL
Filtern Sie Objekte beim Laden der Arbeitsmappe
Der folgende Beispielcode veranschaulicht, wie Diagramme aus der Arbeitsmappe gefiltert werden. Bitte überprüfen Sie dieExcel-Beispieldatei in diesem Code verwendet und dieAusgang PDFdadurch erzeugt. Wie Sie in der Ausgabe PDF sehen können, wurden alle Diagramme aus der Arbeitsmappe herausgefiltert.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(FilterObjectsLoadingWorkbook.class) + "articles/"; | |
//Filter charts from entire workbook | |
LoadOptions ldOpts = new LoadOptions(); | |
ldOpts.setLoadFilter(new LoadFilter(LoadDataFilterOptions.ALL & ~LoadDataFilterOptions.CHART)); | |
//Load the workbook with above filter | |
Workbook wb = new Workbook(dataDir + "sampleFilterCharts.xlsx", ldOpts); | |
//Save entire worksheet into a single page | |
PdfSaveOptions opts = new PdfSaveOptions(); | |
opts.setOnePagePerSheet(true); | |
//Save the workbook in pdf format with the above pdf save options | |
wb.save(dataDir + "sampleFilterCharts.pdf", opts); |
Objekte beim Laden des Arbeitsblatts filtern
Der folgende Beispielcode lädt dieExcel-Quelldatei und filtert die folgenden Daten aus seinen Arbeitsblättern mit einem benutzerdefinierten Filter.
- Es filtert Diagramme aus dem Arbeitsblatt mit dem Namen NoCharts.
- Es filtert Formen aus dem Arbeitsblatt mit dem Namen NoShapes.
- Es filtert die bedingte Formatierung aus dem Arbeitsblatt mit dem Namen NoConditionalFormatting.
Einmal lädt es dieExcel-Quelldatei Mit einem benutzerdefinierten Filter werden die Bilder aller Arbeitsblätter einzeln aufgenommen. Hier sind die Ausgabebilder für Ihre Referenz. Wie Sie sehen, hat das erste Bild keine Diagramme, das zweite Bild keine Formen und das dritte Bild keine bedingte Formatierung.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
public class FilterObjectsLoadingWorksheets { | |
// Implement your own custom load filter, it will enable you to filter your | |
// individual worksheet | |
class CustomLoadFilter extends LoadFilter { | |
public void startSheet(Worksheet sheet) { | |
if (sheet.getName().equals("NoCharts")) { | |
// Load everything and filter charts | |
this.setLoadDataFilterOptions(LoadDataFilterOptions.ALL& ~LoadDataFilterOptions.CHART); | |
} | |
if (sheet.getName().equals("NoShapes")) { | |
// Load everything and filter shapes | |
this.setLoadDataFilterOptions(LoadDataFilterOptions.ALL& ~LoadDataFilterOptions.DRAWING); | |
} | |
if (sheet.getName().equals("NoConditionalFormatting")) { | |
// Load everything and filter conditional formatting | |
this.setLoadDataFilterOptions(LoadDataFilterOptions.ALL& ~LoadDataFilterOptions.CONDITIONAL_FORMATTING); | |
} | |
}// End StartSheet method. | |
}// End CustomLoadFilter class. | |
public static void main(String[] args) throws Exception { | |
FilterObjectsLoadingWorksheets pg = new FilterObjectsLoadingWorksheets(); | |
pg.Run(); | |
} | |
public void Run() throws Exception { | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(FilterObjectsLoadingWorksheets.class) + "TechnicalArticles/"; | |
// Filter worksheets using custom load filter | |
LoadOptions ldOpts = new LoadOptions(); | |
ldOpts.setLoadFilter(new CustomLoadFilter()); | |
// Load the workbook with above filter | |
Workbook wb = new Workbook(dataDir + "sampleFilterDifferentObjects.xlsx", ldOpts); | |
// Take the image of all worksheets one by one | |
for (int i = 0; i < wb.getWorksheets().getCount(); i++) { | |
// Access worksheet at index i | |
Worksheet ws = wb.getWorksheets().get(i); | |
// Create image or print options, we want the image of entire | |
// worksheet | |
ImageOrPrintOptions opts = new ImageOrPrintOptions(); | |
opts.setOnePagePerSheet(true); | |
opts.setImageType(ImageType.PNG); | |
// Convert worksheet into image | |
SheetRender sr = new SheetRender(ws, opts); | |
sr.toImage(0, dataDir + ws.getName() + ".png"); | |
} | |
} | |
} |