تصفية الكائنات أثناء تحميل المصنف أو ورقة العمل
سيناريوهات الاستخدام الممكنة
الرجاء استخدامLoadOptions.LoadFilter الخاصية أثناء تصفية البيانات من المصنف. ولكن إذا كنت ترغب في تصفية البيانات من أوراق العمل الفردية ، فسيتعين عليك تجاوزLoadFilter.startSheet طريقة. يرجى تقديم القيمة المناسبة منLoadDataFilterOptions التعداد أثناء الإنشاء أو العمل معLoadFilter.
الLoadDataFilterOptionsالتعداد له القيم التالية.
- لا أحد
- الكل
- CELL_BLANK
- CELL_STRING
- CELL_NUMERIC
- CELL_ERROR
- CELL_BOOL
- CELL_VALUE
- معادلة
- CELL_DATA
- جدول
- شكل
- MERGED_AREA
- تنسيق مشروط
- تأكيد صحة البيانات
- جدول محوري
- الطاولة
- روابط تشعبية
- SHEET_SETTINGS
- SHEET_DATA
- BOOK_SETTINGS
- إعدادات
- XML_MAP
- بنية
- خصائص المستند
- DEFINED_NAMES
- VBA
- نمط
تصفية الكائنات أثناء تحميل المصنف
يوضح نموذج التعليمات البرمجية التالي كيفية تصفية المخططات من المصنف. رجاء تاكد مننموذج ملف اكسل المستخدمة في هذا الرمز والإخراج 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); |
تصفية الكائنات أثناء تحميل ورقة العمل
يقوم نموذج التعليمات البرمجية التالي بتحميل ملفملف اكسل المصدر وتصفية البيانات التالية من أوراق العمل الخاصة بها باستخدام مرشح مخصص.
- يقوم بتصفية المخططات من ورقة العمل المسماة NoCharts.
- يقوم بتصفية الأشكال من ورقة العمل المسماة NoShapes.
- يقوم بتصفية التنسيق الشرطي من ورقة العمل المسماة NoConditionalFormatting.
مرة واحدة ، يتم تحميل ملفملف اكسل المصدر باستخدام مرشح مخصص ، فإنه يأخذ صور جميع أوراق العمل واحدة تلو الأخرى. ها هي الصور الناتجة للرجوع اليها. كما ترى ، لا تحتوي الصورة الأولى على مخططات ، ولا تحتوي الصورة الثانية على أشكال ، ولا تحتوي الصورة الثالثة على تنسيق شرطي.
// 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"); | |
} | |
} | |
} |