تصفية الكائنات أثناء تحميل المصنف أو ورقة العمل
سيناريوهات الاستخدام الممكنة
الرجاء استخدامLoadOptions.LoadFilterالخاصية أثناء تصفية البيانات من المصنف. ولكن إذا كنت ترغب في تصفية البيانات من أوراق العمل الفردية ، فسيتعين عليك تجاوزLoadFilter.StartSheetطريقة. يرجى تقديم قيمة مناسبة منLoadDataFilterOptionsالتعداد أثناء الإنشاء أو العمل معLoadFilter.
الLoadDataFilterOptionsالتعداد لديه القيم المحتملة التالية.
- الجميع
- BookSettings
- سيل بلانك
- CellBool
- CellData
- CellError
- رقم الخلية
- CellString
- CellValue
- جدول
- تنسيق مشروط
- تأكيد صحة البيانات
- الأسماء المعرفة
- خصائص المستند
- معادلة
- الارتباطات التشعبية
- منطقة مدمجة
- جدول محوري
- إعدادات
- شكل
- شيتداتا
- SheetSettings
- بنية
- أسلوب
- الطاولة
- VBA
- XmlMap
تصفية الكائنات أثناء تحميل المصنف
يوضح نموذج التعليمات البرمجية التالي كيفية تصفية المخططات من المصنف. رجاء تاكد مننموذج ملف اكسل المستخدمة في هذا الرمز والإخراج PDFولدت به. كما ترى في الإخراج PDF ، تمت تصفية كافة المخططات من المصنف.
// 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); |
تصفية الكائنات أثناء تحميل ورقة العمل
يقوم نموذج التعليمات البرمجية التالي بتحميل ملفملف اكسل المصدر وتصفية البيانات التالية من أوراق العمل الخاصة بها باستخدام مرشح مخصص.
- يقوم بتصفية المخططات من ورقة العمل المسماة NoCharts.
- يقوم بتصفية الأشكال من ورقة العمل المسماة NoShapes.
- يقوم بتصفية التنسيق الشرطي من ورقة العمل المسماة NoConditionalFormatting.
مرة واحدة ، يتم تحميل ملفملف اكسل المصدر باستخدام مرشح مخصص ، فإنه يأخذ صور جميع أوراق العمل واحدة تلو الأخرى. ها هي الصور الناتجة للرجوع اليها. كما ترى ، لا تحتوي الصورة الأولى على مخططات ، ولا تحتوي الصورة الثانية على أشكال ، ولا تحتوي الصورة الثالثة على تنسيق شرطي.
// 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; | |
} | |
} | |
} |
هذه هي طريقة استخدام فئة CustomLoadFilter وفقًا لأسماء ورقة العمل.
// 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"); | |
} | |
} |