Çalışma Kitabı veya Çalışsayfa Yüklenirken Nesneleri Filtrele
Olası Kullanım Senaryoları
LoadOptions.LoadFilter özelliğini kullanarak çalışma kitabından veri filtrelerken. Ancak, tek tek çalışsayfalardan veri filtrelemek istiyorsanız, LoadFilter.startSheet yöntemini geçersiz kılmanız gerekecek. LoadDataFilterOptions numaralandırmasından uygun değeri sağlarken LoadFilter ile oluştururken veya çalışırken, lütfen uygun bir değer sağlayın.
LoadDataFilterOptions numaralandırmasının aşağıdaki değerleri bulunmaktadır.
- YOK
- TÜMÜ
- HÜCRE_BOŞ
- HÜCRE_METİN
- HÜCRE_SAYISAL
- HÜCRE_HATA
- HÜCRE_BOOL
- HÜCRE_DEĞER
- FORMÜL
- HÜCRE_VERİ
- GRAFİK
- ŞEKİL
- BİRLEŞTİRİLMİŞ_ALAN
- KOŞULLU_FORMAT
- VERİ_DOĞRULAMA
- ÖZET_TABLO
- TABLO
- HYPERLINKLER
- SAYFA_AYARLARI
- SAYFA_VERİ
- KİTAP_AYARLARI
- AYARLAR
- XML_HARİTASI
- YAPI
- BELGE ÖZELLİKLERİ
- TANIMLI_AD
- VBA
- STİL
Çalışma Kitabı Yüklenirken Nesneleri Filtrele
Aşağıdaki örnek kod, çalışma kitabından grafikleri filtrelemeyi göstermektedir. Lütfen bu kodda kullanılan örnek excel dosyasını ve bunun tarafından üretilen çıktı PDF’yi kontrol edin. Çıktı PDF’de, tüm grafiklerin çalışma kitabından filtre edildiğini görebilirsiniz.
// 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); |
Çalışma Sayfası Yüklenirken Nesneleri Filtrele
Aşağıdaki örnek kod, kaynak excel dosyasını yükler ve çalışma sayfalarındaki belirli verileri özel bir filtre kullanarak filtreler.
- Tablo adı NoCharts olan çalışma sayfasından Grafikleri filtreler.
- Tablo adı NoShapes olan çalışma sayfasından Şekilleri filtreler.
- Tablo adı NoConditionalFormatting olan çalışma sayfasından Koşullu Biçimlendirmeyi filtreler.
Özelleştirilmiş bir filtre kullanarak kaynak excel dosyasını yükledikten sonra, tüm çalışma sayfalarının resimlerini tek tek alır. İşte referansınız için çıktı resimleri. Görebileceğiniz gibi, ilk resimde grafikler yok, ikinci resimde şekiller yok ve üçüncü resimde koşullu biçimlendirme yok.
// 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"); | |
} | |
} | |
} |