Lesen und Schreiben von Abfragtabelle im Arbeitsblatt mit C++

Lesen und Schreiben von Abfrage-Tabellen im Arbeitsblatt

Der folgende Beispielcode liest die erste QueryTable des ersten Arbeitsblatts und druckt dann beide Eigenschaften der QueryTable. Anschließend setzt er QueryTable.PreserveFormatting auf true.

Sie können die Quelldatei von Excel, die in diesem Code verwendet wird, und die Ausgabedatei, die von dem Code generiert wird, von den folgenden Links herunterladen.

#include <iostream>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;

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

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Create workbook from source excel file
    Workbook workbook(srcDir + u"Sample.xlsx");

    // Access first worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Access first Query Table
    QueryTable qt = worksheet.GetQueryTables().Get(0);

    // Print Query Table Data
    std::cout << "Adjust Column Width: " << qt.GetAdjustColumnWidth() << std::endl;
    std::cout << "Preserve Formatting: " << qt.GetPreserveFormatting() << std::endl;

    // Now set Preserve Formatting to true
    qt.SetPreserveFormatting(true);

    // Save the workbook
    workbook.Save(outDir + u"Output_out.xlsx");

    std::cout << "Query Table properties updated and workbook saved successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}

Konsolenausgabe

Hier ist die Konsolenausgabe des obigen Beispielcodes:

Adjust Column Width: True

Preserve Formatting: False

Abfrageergebnisbereich abrufen

Aspose.Cells bietet eine Option, die Adresse (d.h. Ergebnisbereich der Zellen) einer Abfragetable zu lesen. Der folgende Code demonstriert diese Funktion, indem er die Adresse des Ergebnisbereichs einer Abfragetable liest. Die Beispieldatei kann hier heruntergeladen werden.

#include <iostream>
#include <locale>
#include <codecvt>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;

std::string convert_u16_to_string(const char16_t* data) {
    std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter;
    return converter.to_bytes(data);
}

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

    Workbook wb(u"Query TXT.xlsx");
    std::cout << convert_u16_to_string(wb.GetWorksheets().Get(0).GetQueryTables().Get(0).GetResultRange().GetAddress().GetData()) << std::endl;

    Aspose::Cells::Cleanup();
}