diff options
Diffstat (limited to 'doc_example/spreadsheet_doc_2.cpp')
-rw-r--r-- | doc_example/spreadsheet_doc_2.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/doc_example/spreadsheet_doc_2.cpp b/doc_example/spreadsheet_doc_2.cpp new file mode 100644 index 0000000..614b50b --- /dev/null +++ b/doc_example/spreadsheet_doc_2.cpp @@ -0,0 +1,44 @@ + +#include <orcus/spreadsheet/import_interface.hpp> +#include <orcus/orcus_ods.hpp> + +#include <filesystem> +#include <iostream> + +namespace ss = orcus::spreadsheet; + +class my_empty_import_factory : public ss::iface::import_factory +{ +public: + virtual ss::iface::import_sheet* append_sheet(ss::sheet_t sheet_index, std::string_view name) override + { + std::cout << "append_sheet: sheet index: " << sheet_index << "; sheet name: " << name << std::endl; + return nullptr; + } + + virtual ss::iface::import_sheet* get_sheet(std::string_view name) override + { + std::cout << "get_sheet: sheet name: " << name << std::endl; + return nullptr; + } + + virtual ss::iface::import_sheet* get_sheet(ss::sheet_t sheet_index) override + { + std::cout << "get_sheet: sheet index: " << sheet_index << std::endl; + return nullptr; + } + + virtual void finalize() override {} +}; + +int main() +{ + std::filesystem::path input_dir = std::getenv("INPUTDIR"); + auto filepath = input_dir / "multi-sheets.ods"; + + my_empty_import_factory factory; + orcus::orcus_ods loader(&factory); + loader.read_file(filepath.native()); + + return EXIT_SUCCESS; +} |