تصفية الكائنات أثناء تحميل المصنف أو ورقة العمل
سيناريوهات الاستخدام المحتملة
يرجى استخدام خاصية LoadOptions.LoadFilter أثناء تصفية البيانات من دفتر العمل. ولكن إذا كنت ترغب في تصفية البيانات من أوراق العمل الفردية، فيجب عليك تجاوز خاصية LoadFilter.startSheet . يُرجى تقديم القيمة المناسبة من تعداد LoadDataFilterOptions أثناء الإنشاء أو العمل مع LoadFilter.
تعداد LoadDataFilterOptions يحتوي على القيم التالية.
- بلا
- الكل
- خلية فارغة
- نص الخلية
- القيمة الرقمية للخلية
- خطأ الخلية
- قيمة منطقية للخلية
- قيمة الخلية
- صيغة
- بيانات الخلية
- رسم بياني
- شكل
- منطقة مدموجة
- تنسيق مشروط
- التحقق من البيانات
- جدول محوري
- جدول
- روابط تشعبية
- إعدادات الورقة
- بيانات الورقة
- إعدادات الكتاب
- الإعدادات
- خريطة XML
- الهيكل
- خصائص المستند
- الأسماء المحددة
- VBA
- النمط
كائنات تصفية أثناء تحميل السجل
يوضح الكود النموذجي التالي كيفية تصفية الرسوم البيانية من السجل. يرجى التحقق من ملف Excel النموذجي المستخدم في هذا الكود وملف الـPDF الناتج عن طريقه. كما يمكنك رؤية في ملف الـPDF الناتج أن جميع الرسوم البيانية قد تم تصفيتها من السجل.
// 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); |
كائنات تصفية أثناء تحميل ورقة العمل
يقوم الكود النموذجي التالي بتحميل ملف الـExcel المصدري وتصفية البيانات التالية من صفحات العمل باستخدام عملية تصفية مخصصة.
- يتم تصفية الرسوم البيانية من ورقة العمل التي تحمل اسم لا توجد فيها رسوم بيانية.
- يتم تصفية الأشكال من ورقة العمل التي تحمل اسم لا توجد فيها أشكال.
- يتم تصفية التنسيق الشرطي من ورقة العمل التي تحمل اسم لا توجد فيها تنسيق شرطي.
بمجرد أن يتم تحميل ملف الـExcel المصدري بتصفية مخصصة، يتم أخذ صور كل صفحات العمل واحدة تلو الأخرى. فيما يلي الصور الناتجة للرجوع إليها. كما يمكنك أن ترى، الصورة الأولى ليست بها رسوم بيانية، الصورة الثانية ليست بها أشكال، والصورة الثالثة ليست بها تنسيق شرطي.
// 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"); | |
} | |
} | |
} |