C++ ile Excel Dosyası Yüklenirken Uyarıları Alma

Olası Kullanım Senaryoları

Bazen kullanıcı, biraz bozuk ama yine de yüklenebilir olan bir çalışma kitabını yüklemeye çalışır. Bu gibi durumlarda, Aspose.Cells çalışma kitabını yüklerken uyarılar fırlatır. Bu uyarıları yakalayabilir ve IWarningCallback arayüzünü uygulayarak ve LoadOptions.GetWarningCallback() özelliğini ayarlayarak yönetebilirsiniz.

Excel Dosyası Yüklenirken Uyarıları Al

Aşağıdaki örnek kod, bir Excel dosyasını yüklerken uyarıları nasıl alacağınızı açıklar. Kod, yükleme sırasında DuplicateDefinedName uyarısı atanmış bir örnek Excel dosyasını (sampleDuplicateDefinedName.xlsx) yükler. Bu uyarı, IWarningCallback.Warning() yöntemi tarafından yakalanır ve uyarı mesajları konsola yazdırılır. Ardından, çalışma kitabını bir çıktı Excel dosyası olarak kaydeder. Eğer örnek Excel dosyasını Microsoft Excel’de açarsanız, bu uyarıyı da göreceksiniz, aşağıdaki ekran görüntüsünde gösterildiği gibi. Bu kodun konsol çıktısını da kontrol etmeyi unutmayın.

todo:image_alt_text

Örnek Kod

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

class WarningCallback : public IWarningCallback {
public:
    void Warning(WarningInfo& warningInfo) override {
        if (warningInfo.GetType() == ExceptionType::DefinedName) {
            std::cout << "Defined Name Warning: " << warningInfo.GetDescription().ToUtf8() << std::endl;
        }
    }
};

int main() {
    Aspose::Cells::Startup();

    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    LoadOptions options;
    WarningCallback callback;
    options.SetWarningCallback(&callback);

    U16String inputFilePath = srcDir + u"sampleDuplicateDefinedName.xlsx";
    Workbook book(inputFilePath, options);

    U16String outputFilePath = outDir + u"outputDuplicateDefinedName.xlsx";
    book.Save(outputFilePath);

    std::cout << "Workbook saved successfully with warning handling!" << std::endl;

    Aspose::Cells::Cleanup();
    return 0;
}

Konsol Çıktısı

Yukarıdaki kodun, verilen örnek excel dosyası ile çalıştırıldığında konsol çıktısı şöyledir.

Duplicate Defined Name Warning: Name:PRINT_AREA;ReferTo:Introduction!$D$16:$D$17

Duplicate Defined Name Warning: Name:PRINT_AREA;ReferTo:Panel!$B$228

Duplicate Defined Name Warning: Name:PRINT_AREA;ReferTo:'Queries '!$D$14:$D$16