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 die überschreibenLoadFilter.StartSheetMethode. Bitte geben Sie den entsprechenden Wert von anLoadDataFilterOptionsAufzählung beim Erstellen oder Arbeiten mitLadefilter.
DasLoadDataFilterOptionsEnumeration hat die folgenden möglichen Werte.
- Alles
- Bucheinstellungen
- ZelleLeer
- CellBool
- CellData
- Zellenfehler
- ZelleNumerisch
- CellString
- Zellwert
- Diagramm
- Bedingte Formatierung
- Datenvalidierung
- DefinierteNamen
- Dokumenteigenschaften
- Formel
- Hyperlinks
- MergedArea
- PivotTable
- Einstellungen
- Form
- Blattdaten
- Tabelleneinstellungen
- Struktur
- Stil
- Tisch
- VBA
- XmlMap
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-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Filter charts from the workbook. | |
LoadOptions lOptions = new LoadOptions(); | |
lOptions.LoadFilter = new LoadFilter(LoadDataFilterOptions.All & ~LoadDataFilterOptions.Chart); | |
// Load the workbook with above filter. | |
Workbook workbook = new Workbook(dataDir + "sampleFilterCharts.xlsx", lOptions); | |
// Save worksheet to a single PDF page. | |
PdfSaveOptions pOptions = new PdfSaveOptions(); | |
pOptions.OnePagePerSheet = true; | |
// Save the workbook in PDF format. | |
workbook.Save(dataDir + "sampleFilterCharts.pdf", pOptions); |
Filtern Sie Objekte beim Laden des Arbeitsblatts
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-.NET | |
public class CustomLoadFilter : LoadFilter | |
{ | |
public override void StartSheet(Worksheet sheet) | |
{ | |
if (sheet.Name == "NoCharts") | |
{ | |
//Load everything and filter charts | |
this.LoadDataFilterOptions = LoadDataFilterOptions.All & ~LoadDataFilterOptions.Chart; | |
} | |
if (sheet.Name == "NoShapes") | |
{ | |
//Load everything and filter shapes | |
this.LoadDataFilterOptions = LoadDataFilterOptions.All & ~LoadDataFilterOptions.Drawing; | |
} | |
if (sheet.Name == "NoConditionalFormatting)") | |
{ | |
//Load everything and filter conditional formatting | |
this.LoadDataFilterOptions = LoadDataFilterOptions.All & ~LoadDataFilterOptions.ConditionalFormatting; | |
} | |
} | |
} |
So verwenden Sie die CustomLoadFilter-Klasse gemäß den Arbeitsblattnamen.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
public static void Run() | |
{ | |
//Source directory | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
//Output directory | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
// Filter worksheets using CustomLoadFilter class | |
LoadOptions loadOpts = new LoadOptions(); | |
loadOpts.LoadFilter = new CustomLoadFilter(); | |
// Load the workbook with filter defined in CustomLoadFilter class | |
Workbook workbook = new Workbook(sourceDir + "sampleCustomFilteringPerWorksheet.xlsx", loadOpts); | |
// Take the image of all worksheets one by one | |
for (int i = 0; i < workbook.Worksheets.Count; i++) | |
{ | |
// Access worksheet at index i | |
Worksheet worksheet = workbook.Worksheets[i]; | |
// Create an instance of ImageOrPrintOptions | |
// Render entire worksheet to image | |
ImageOrPrintOptions imageOpts = new ImageOrPrintOptions(); | |
imageOpts.OnePagePerSheet = true; | |
imageOpts.ImageType = Drawing.ImageType.Png; | |
// Convert worksheet to image | |
SheetRender render = new SheetRender(worksheet, imageOpts); | |
render.ToImage(0, outputDir + "outputCustomFilteringPerWorksheet_" + worksheet.Name + ".png"); | |
} | |
} |