react-native-nitro-xlsx 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NitroXlsx.podspec +26 -27
- package/Package.swift +31 -10
- package/README.md +21 -9
- package/android/CMakeLists.txt +20 -27
- package/cpp/HybridNitroXlsx.cpp +25 -1
- package/cpp/HybridXlsxCellFormat.cpp +46 -146
- package/cpp/HybridXlsxCellFormat.hpp +9 -41
- package/cpp/HybridXlsxConditionalFormat.cpp +4 -1
- package/cpp/HybridXlsxConditionalFormats.cpp +5 -1
- package/cpp/HybridXlsxWorkbook.cpp +38 -8
- package/cpp/HybridXlsxWorkbook.hpp +10 -1
- package/cpp/HybridXlsxWorksheet.cpp +422 -141
- package/cpp/HybridXlsxWorksheet.hpp +4 -1
- package/cpp/XlsxCacheDir.cpp +25 -2
- package/cpp/XlsxCacheDir.hpp +3 -1
- package/cpp/XlsxCellStyle.hpp +360 -0
- package/cpp/XlsxJson.cpp +29 -8
- package/package.json +2 -2
- package/scripts/run-cpp-tests.sh +1 -1
- package/scripts/sync-openxlsx-headers.sh +34 -0
- package/src/__mocks__/react-native-nitro-modules.ts +523 -20
- package/src/__tests__/index.test.ts +124 -16
- package/src/index.ts +13 -13
- package/thirdparty/OpenXLSX/.clang-format +118 -0
- package/thirdparty/OpenXLSX/.clang-tidy +28 -0
- package/thirdparty/OpenXLSX/.gitignore +130 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_before_XMLNode_wrappers +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_and_stripping +49 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_char_support +49 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_support +49 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespaced_name_disabled +49 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-08-11-benchmarks_post-XLCellIterator-Rework +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-08-14-benchmarks_post-default-row-column-style-support +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-09-02-benchmarks +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-12-19-benchmarks +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2024-12-30-benchmarks-post-XLSharedStrings-by-ref +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-01-09-benchmarks-post-conditionalFormatsAndSheetProtection +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-01-10-benchmarks-post-XLCellValue-bugfix +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-01-31-benchmarks-post-XLComments-implementation +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-02-02-benchmarks-post-XLRowIterator-Rework +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-07-20-benchmarks-after-hiding-pugixml-internals +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/2025-08-29-benchmarks-after-code-review-with-libzip +46 -0
- package/thirdparty/OpenXLSX/Benchmarks/Benchmark.cpp +249 -0
- package/thirdparty/OpenXLSX/Benchmarks/CMakeLists.txt +19 -0
- package/thirdparty/OpenXLSX/CMakeLists.txt +466 -0
- package/thirdparty/OpenXLSX/Documentation/CMakeLists.txt +31 -0
- package/thirdparty/OpenXLSX/Documentation/Doxyfile.in +2471 -0
- package/thirdparty/OpenXLSX/Documentation/DoxygenLayout.xml +194 -0
- package/thirdparty/OpenXLSX/Documentation/customdoxygen.css +1355 -0
- package/thirdparty/OpenXLSX/Examples/CMakeLists.txt +103 -0
- package/thirdparty/OpenXLSX/Examples/Demo1.cpp +279 -0
- package/thirdparty/OpenXLSX/Examples/Demo10.cpp +545 -0
- package/thirdparty/OpenXLSX/Examples/Demo1A.cpp +137 -0
- package/thirdparty/OpenXLSX/Examples/Demo2.cpp +65 -0
- package/thirdparty/OpenXLSX/Examples/Demo3.cpp +89 -0
- package/thirdparty/OpenXLSX/Examples/Demo4.cpp +86 -0
- package/thirdparty/OpenXLSX/Examples/Demo5.cpp +77 -0
- package/thirdparty/OpenXLSX/Examples/Demo6.cpp +103 -0
- package/thirdparty/OpenXLSX/Examples/Demo7.cpp +79 -0
- package/thirdparty/OpenXLSX/Examples/Demo8.cpp +117 -0
- package/thirdparty/OpenXLSX/Examples/Demo9.cpp +363 -0
- package/thirdparty/OpenXLSX/Examples/cmake/FindLIBZIP.cmake +61 -0
- package/thirdparty/OpenXLSX/Examples/external/CustomZip/CustomZip.hpp +256 -0
- package/thirdparty/OpenXLSX/LICENSE.md +29 -0
- package/thirdparty/OpenXLSX/Makefile.GNU +530 -0
- package/thirdparty/OpenXLSX/Notes/TBDs.txt +16 -0
- package/thirdparty/OpenXLSX/Notes/confirmed-TBCs.txt +8 -0
- package/thirdparty/OpenXLSX/Notes/styles-missing-support.xml +12 -0
- package/thirdparty/OpenXLSX/Notes/todo-list.txt +108 -0
- package/thirdparty/OpenXLSX/OpenXLSX/CMakeLists.txt +631 -0
- package/thirdparty/OpenXLSX/OpenXLSX/OpenXLSX.hpp +63 -0
- package/thirdparty/OpenXLSX/OpenXLSX/OpenXLSXConfig.cmake +11 -0
- package/thirdparty/OpenXLSX/OpenXLSX/cmake/bundle_static_library.cmake +198 -0
- package/thirdparty/OpenXLSX/OpenXLSX/cmake/patch_pkg_config.cmake +69 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/IZipArchive.hpp +361 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/IZipArchive.hpp +361 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/OpenXLSX-Exports.hpp +12 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCell.hpp +367 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCellIterator.hpp +252 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCellRange.hpp +223 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCellReference.hpp +317 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCellValue.hpp +793 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLColor.hpp +232 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLColumn.hpp +159 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLCommandQuery.hpp +228 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLComments.hpp +270 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLConstants.hpp +18 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLContentTypes.hpp +264 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLDateTime.hpp +175 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLDocument.hpp +505 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLDrawing.hpp +452 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLException.hpp +161 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLFormula.hpp +375 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLIterator.hpp +40 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLMergeCells.hpp +216 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLProperties.hpp +348 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLRelationships.hpp +348 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLRow.hpp +721 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLRowData.hpp +488 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLSharedStrings.hpp +204 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLSheet.hpp +1640 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLStyles.hpp +2390 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLTables.hpp +132 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLWorkbook.hpp +404 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLXmlData.hpp +283 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLXmlFile.hpp +194 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLXmlParser.hpp +282 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLXmlParserForwardDeclarations.hpp +85 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/XLZipArchive.hpp +232 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/detail/LibZip.hpp +447 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/detail/OpenXLSXFileSystemTools.hpp +207 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX/detail/Zippy.hpp +1375 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX-Exports.hpp +12 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCell.hpp +367 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellIterator.hpp +252 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellRange.hpp +223 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellReference.hpp +317 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellValue.hpp +793 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLColor.hpp +232 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLColumn.hpp +159 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCommandQuery.hpp +228 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLComments.hpp +270 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLConstants.hpp +18 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLContentTypes.hpp +264 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLDateTime.hpp +175 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLDocument.hpp +505 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLDrawing.hpp +452 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLException.hpp +161 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLFormula.hpp +375 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLIterator.hpp +40 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLMergeCells.hpp +216 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLProperties.hpp +348 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLRelationships.hpp +348 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLRow.hpp +721 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLRowData.hpp +488 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLSharedStrings.hpp +204 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLSheet.hpp +1640 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLStyles.hpp +2390 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLTables.hpp +132 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLWorkbook.hpp +404 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlData.hpp +283 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlFile.hpp +194 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlParser.hpp +282 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlParserForwardDeclarations.hpp +85 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/XLZipArchive.hpp +232 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/detail/LibZip.hpp +447 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/detail/OpenXLSXFileSystemTools.hpp +207 -0
- package/thirdparty/OpenXLSX/OpenXLSX/headers/detail/Zippy.hpp +1375 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCell.cpp +340 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellIterator.cpp +427 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellRange.cpp +221 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellReference.cpp +408 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellValue.cpp +519 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLColor.cpp +202 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLColumn.cpp +141 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLComments.cpp +637 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLContentTypes.cpp +329 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLDateTime.cpp +269 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLDocument.cpp +1678 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLDrawing.cpp +784 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLFormula.cpp +201 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLMergeCells.cpp +357 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLProperties.cpp +810 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLRelationships.cpp +529 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLRow.cpp +918 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLRowData.cpp +508 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLSharedStrings.cpp +220 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLSheet.cpp +1970 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLStyles.cpp +3014 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLTables.cpp +125 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLWorkbook.cpp +784 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLXmlData.cpp +247 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLXmlFile.cpp +160 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLXmlParser.cpp +261 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/XLZipArchive.cpp +266 -0
- package/thirdparty/OpenXLSX/OpenXLSX/sources/utilities/XLUtilities.hpp +478 -0
- package/thirdparty/OpenXLSX/README.md +1279 -0
- package/thirdparty/OpenXLSX/Scripts/cmake-cleanup.sh +102 -0
- package/thirdparty/OpenXLSX/Scripts/compile.sh +23 -0
- package/thirdparty/OpenXLSX/Scripts/demos-cleanup.sh +25 -0
- package/thirdparty/OpenXLSX/Scripts/demos-run-all.sh +60 -0
- package/thirdparty/OpenXLSX/Scripts/guarded-xml-format.sh +47 -0
- package/thirdparty/OpenXLSX/Scripts/make-gnu.sh +11 -0
- package/thirdparty/OpenXLSX/Scripts/uninstall-manifest.sh +48 -0
- package/thirdparty/OpenXLSX/Scripts/xml-format-all.sh +19 -0
- package/thirdparty/OpenXLSX/Scripts/xml-format.sh +38 -0
- package/thirdparty/OpenXLSX/Tests/CMakeLists.txt +37 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch.hpp +17799 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_automake.hpp +68 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_sonarqube.hpp +182 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_tap.hpp +278 -0
- package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_teamcity.hpp +212 -0
- package/thirdparty/OpenXLSX/Tests/main.cpp +55 -0
- package/thirdparty/OpenXLSX/Tests/testXLCell.cpp +176 -0
- package/thirdparty/OpenXLSX/Tests/testXLCellRange.cpp +180 -0
- package/thirdparty/OpenXLSX/Tests/testXLCellReference.cpp +160 -0
- package/thirdparty/OpenXLSX/Tests/testXLCellValue.cpp +366 -0
- package/thirdparty/OpenXLSX/Tests/testXLCellValueProxy.cpp +255 -0
- package/thirdparty/OpenXLSX/Tests/testXLColor.cpp +75 -0
- package/thirdparty/OpenXLSX/Tests/testXLDateTime.cpp +229 -0
- package/thirdparty/OpenXLSX/Tests/testXLDocument.cpp +197 -0
- package/thirdparty/OpenXLSX/Tests/testXLFormula.cpp +131 -0
- package/thirdparty/OpenXLSX/Tests/testXLRow.cpp +597 -0
- package/thirdparty/OpenXLSX/Tests/testXLSheet.cpp +77 -0
- package/thirdparty/OpenXLSX/Tests/ziptest-with-libs.cpp +88 -0
- package/thirdparty/OpenXLSX/Tests/ziptest.cpp +735 -0
- package/thirdparty/OpenXLSX/cmake/get-git-HEAD-ID.cmake +45 -0
- package/thirdparty/OpenXLSX/cmake/libopenxlsxCPackOptions.cmake.in +20 -0
- package/thirdparty/OpenXLSX/cmake/manage_dependency.cmake +813 -0
- package/thirdparty/OpenXLSX/cmake/recursive_library_type_test.cmake +52 -0
- package/thirdparty/OpenXLSX/gnu-make-crutch/OpenXLSX-Exports-shared.hpp +42 -0
- package/thirdparty/OpenXLSX/gnu-make-crutch/OpenXLSX-Exports-static.hpp +42 -0
- package/thirdparty/OpenXLSX/vcpkg.json +24 -0
- package/thirdparty/README.md +46 -0
- package/thirdparty/miniz/.clang-format +47 -0
- package/thirdparty/miniz/.travis.yml +2 -0
- package/thirdparty/miniz/CMakeLists.txt +333 -0
- package/thirdparty/miniz/CMakePresets.json +31 -0
- package/thirdparty/miniz/ChangeLog.md +272 -0
- package/thirdparty/miniz/Config.cmake.in +1 -0
- package/thirdparty/miniz/LICENSE +22 -0
- package/thirdparty/miniz/amalgamate.sh +57 -0
- package/thirdparty/miniz/examples/example1.c +105 -0
- package/thirdparty/miniz/examples/example2.c +164 -0
- package/thirdparty/miniz/examples/example3.c +269 -0
- package/thirdparty/miniz/examples/example4.c +102 -0
- package/thirdparty/miniz/examples/example5.c +327 -0
- package/thirdparty/miniz/examples/example6.c +189 -0
- package/thirdparty/miniz/meson.build +21 -0
- package/thirdparty/miniz/miniz.c +646 -0
- package/thirdparty/miniz/miniz.h +615 -0
- package/thirdparty/miniz/miniz.pc.in +13 -0
- package/thirdparty/miniz/miniz_common.h +89 -0
- package/thirdparty/miniz/miniz_export.h +20 -0
- package/thirdparty/miniz/miniz_tdef.c +1602 -0
- package/thirdparty/miniz/miniz_tdef.h +199 -0
- package/thirdparty/miniz/miniz_tinfl.c +778 -0
- package/thirdparty/miniz/miniz_tinfl.h +150 -0
- package/thirdparty/miniz/miniz_zip.c +4895 -0
- package/thirdparty/miniz/miniz_zip.h +454 -0
- package/thirdparty/miniz/readme.md +46 -0
- package/thirdparty/miniz/test.sh +36 -0
- package/thirdparty/miniz/tests/add_in_place_fuzzer.c +87 -0
- package/thirdparty/miniz/tests/catch_amalgamated.cpp +10795 -0
- package/thirdparty/miniz/tests/catch_amalgamated.hpp +13143 -0
- package/thirdparty/miniz/tests/checksum_fuzzer.c +26 -0
- package/thirdparty/miniz/tests/compress_fuzzer.c +91 -0
- package/thirdparty/miniz/tests/flush_fuzzer.c +88 -0
- package/thirdparty/miniz/tests/fuzz_main.c +55 -0
- package/thirdparty/miniz/tests/large_fuzzer.c +133 -0
- package/thirdparty/miniz/tests/main.cpp +185 -0
- package/thirdparty/miniz/tests/miniz_tdefl_fuzzer.cc +115 -0
- package/thirdparty/miniz/tests/miniz_tester.cpp +1881 -0
- package/thirdparty/miniz/tests/miniz_zip_validate_fuzzer.cc +71 -0
- package/thirdparty/miniz/tests/miniz_zip_writer_fuzzer.cc +96 -0
- package/thirdparty/miniz/tests/ossfuzz.sh +48 -0
- package/thirdparty/miniz/tests/small_fuzzer.c +126 -0
- package/thirdparty/miniz/tests/timer.cpp +152 -0
- package/thirdparty/miniz/tests/timer.h +40 -0
- package/thirdparty/miniz/tests/uncompress2_fuzzer.c +21 -0
- package/thirdparty/miniz/tests/uncompress_fuzzer.c +30 -0
- package/thirdparty/miniz/tests/zip.dict +9 -0
- package/thirdparty/miniz/tests/zip_fuzzer.c +63 -0
- package/thirdparty/pugixml/.codecov.yml +7 -0
- package/thirdparty/pugixml/.gitattributes +1 -0
- package/thirdparty/pugixml/CMakeLists.txt +330 -0
- package/thirdparty/pugixml/LICENSE.md +24 -0
- package/thirdparty/pugixml/Makefile +98 -0
- package/thirdparty/pugixml/README.md +81 -0
- package/thirdparty/pugixml/SECURITY.md +9 -0
- package/thirdparty/pugixml/appveyor.yml +50 -0
- package/thirdparty/pugixml/docs/config.adoc +7 -0
- package/thirdparty/pugixml/docs/images/dom_tree.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_link1.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_link2.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_pch1.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_pch2.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_pch3.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2005_pch4.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2010_link1.png +0 -0
- package/thirdparty/pugixml/docs/images/vs2010_link2.png +0 -0
- package/thirdparty/pugixml/docs/manual.adoc +3326 -0
- package/thirdparty/pugixml/docs/manual.html +6395 -0
- package/thirdparty/pugixml/docs/quickstart.adoc +287 -0
- package/thirdparty/pugixml/docs/quickstart.html +1107 -0
- package/thirdparty/pugixml/docs/samples/character.xml +8 -0
- package/thirdparty/pugixml/docs/samples/custom_memory_management.cpp +27 -0
- package/thirdparty/pugixml/docs/samples/include.cpp +64 -0
- package/thirdparty/pugixml/docs/samples/load_error_handling.cpp +33 -0
- package/thirdparty/pugixml/docs/samples/load_file.cpp +16 -0
- package/thirdparty/pugixml/docs/samples/load_memory.cpp +66 -0
- package/thirdparty/pugixml/docs/samples/load_options.cpp +30 -0
- package/thirdparty/pugixml/docs/samples/load_stream.cpp +97 -0
- package/thirdparty/pugixml/docs/samples/modify_add.cpp +29 -0
- package/thirdparty/pugixml/docs/samples/modify_base.cpp +43 -0
- package/thirdparty/pugixml/docs/samples/modify_remove.cpp +27 -0
- package/thirdparty/pugixml/docs/samples/save_custom_writer.cpp +116 -0
- package/thirdparty/pugixml/docs/samples/save_declaration.cpp +27 -0
- package/thirdparty/pugixml/docs/samples/save_file.cpp +17 -0
- package/thirdparty/pugixml/docs/samples/save_options.cpp +48 -0
- package/thirdparty/pugixml/docs/samples/save_stream.cpp +18 -0
- package/thirdparty/pugixml/docs/samples/save_subtree.cpp +26 -0
- package/thirdparty/pugixml/docs/samples/text.cpp +35 -0
- package/thirdparty/pugixml/docs/samples/transitions.xml +7 -0
- package/thirdparty/pugixml/docs/samples/traverse_base.cpp +51 -0
- package/thirdparty/pugixml/docs/samples/traverse_iter.cpp +27 -0
- package/thirdparty/pugixml/docs/samples/traverse_predicate.cpp +48 -0
- package/thirdparty/pugixml/docs/samples/traverse_rangefor.cpp +32 -0
- package/thirdparty/pugixml/docs/samples/traverse_walker.cpp +35 -0
- package/thirdparty/pugixml/docs/samples/tree.xml +12 -0
- package/thirdparty/pugixml/docs/samples/weekly-shift_jis.xml +78 -0
- package/thirdparty/pugixml/docs/samples/weekly-utf-16.xml +0 -0
- package/thirdparty/pugixml/docs/samples/weekly-utf-8.xml +78 -0
- package/thirdparty/pugixml/docs/samples/xgconsole.xml +12 -0
- package/thirdparty/pugixml/docs/samples/xpath_error.cpp +43 -0
- package/thirdparty/pugixml/docs/samples/xpath_query.cpp +36 -0
- package/thirdparty/pugixml/docs/samples/xpath_select.cpp +28 -0
- package/thirdparty/pugixml/docs/samples/xpath_variables.cpp +38 -0
- package/thirdparty/pugixml/readme.txt +50 -0
- package/thirdparty/pugixml/scripts/archive.py +54 -0
- package/thirdparty/pugixml/scripts/cocoapods_push.sh +4 -0
- package/thirdparty/pugixml/scripts/natvis/pugixml.natvis +77 -0
- package/thirdparty/pugixml/scripts/natvis/pugixml_compact.natvis +506 -0
- package/thirdparty/pugixml/scripts/nuget/build/native/pugixml-propertiesui.xml +17 -0
- package/thirdparty/pugixml/scripts/nuget/build/native/pugixml.targets +28 -0
- package/thirdparty/pugixml/scripts/nuget/pugixml.nuspec +20 -0
- package/thirdparty/pugixml/scripts/nuget_build.ps1 +60 -0
- package/thirdparty/pugixml/scripts/premake4.lua +92 -0
- package/thirdparty/pugixml/scripts/pugixml-config.cmake.in +12 -0
- package/thirdparty/pugixml/scripts/pugixml.pc.in +11 -0
- package/thirdparty/pugixml/scripts/pugixml.podspec +14 -0
- package/thirdparty/pugixml/scripts/pugixml.xcodeproj/project.pbxproj +212 -0
- package/thirdparty/pugixml/scripts/pugixml_airplay.mkf +13 -0
- package/thirdparty/pugixml/scripts/pugixml_codeblocks.cbp +44 -0
- package/thirdparty/pugixml/scripts/pugixml_codelite.project +56 -0
- package/thirdparty/pugixml/scripts/pugixml_dll.rc +45 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2005.vcproj +343 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2005_static.vcproj +343 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2008.vcproj +339 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2008_static.vcproj +339 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2010.vcxproj +191 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2010_static.vcxproj +191 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2013.vcxproj +199 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2013_static.vcxproj +199 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2015.vcxproj +172 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2015_static.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2017.vcxproj +172 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2017_static.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2019.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2019_static.vcxproj +180 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2022.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2022_static.vcxproj +180 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2026.vcxproj +176 -0
- package/thirdparty/pugixml/scripts/pugixml_vs2026_static.vcxproj +180 -0
- package/thirdparty/pugixml/scripts/sbom.cdx.json +47 -0
- package/thirdparty/pugixml/src/pugiconfig.hpp +81 -0
- package/thirdparty/pugixml/src/pugixml.cpp +13776 -0
- package/thirdparty/pugixml/src/pugixml.hpp +1604 -0
- package/thirdparty/pugixml/tests/allocator.cpp +175 -0
- package/thirdparty/pugixml/tests/allocator.hpp +10 -0
- package/thirdparty/pugixml/tests/autotest-appveyor.ps1 +93 -0
- package/thirdparty/pugixml/tests/cmake-appveyor.ps1 +57 -0
- package/thirdparty/pugixml/tests/data/empty.xml +0 -0
- package/thirdparty/pugixml/tests/data/large.xml +1 -0
- package/thirdparty/pugixml/tests/data/latintest_latin1.xml +1 -0
- package/thirdparty/pugixml/tests/data/latintest_utf8.xml +1 -0
- package/thirdparty/pugixml/tests/data/multiline.xml +3 -0
- package/thirdparty/pugixml/tests/data/small.xml +1 -0
- package/thirdparty/pugixml/tests/data/truncation.xml +19 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_be.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_be_bom.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_be_clean.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_be_nodecl.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_le.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_le_bom.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_le_clean.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf16_le_nodecl.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_be.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_be_bom.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_be_clean.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_be_nodecl.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_le.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_le_bom.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_le_clean.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf32_le_nodecl.xml +0 -0
- package/thirdparty/pugixml/tests/data/utftest_utf8.xml +87 -0
- package/thirdparty/pugixml/tests/data/utftest_utf8_bom.xml +87 -0
- package/thirdparty/pugixml/tests/data/utftest_utf8_clean.xml +84 -0
- package/thirdparty/pugixml/tests/data/utftest_utf8_nodecl.xml +86 -0
- package/thirdparty/pugixml/tests/data//321/202/320/265/321/201/321/202.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/basic.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/doctype.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/refs.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/types.xml +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/utf16.xml +0 -0
- package/thirdparty/pugixml/tests/data_fuzz_parse/utf32.xml +0 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/basic.xpath +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/functions.xpath +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/math.xpath +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/path.xpath +1 -0
- package/thirdparty/pugixml/tests/data_fuzz_xpath/predicate.xpath +1 -0
- package/thirdparty/pugixml/tests/fuzz_parse.cpp +14 -0
- package/thirdparty/pugixml/tests/fuzz_parse.dict +72 -0
- package/thirdparty/pugixml/tests/fuzz_setup.sh +11 -0
- package/thirdparty/pugixml/tests/fuzz_xpath.cpp +46 -0
- package/thirdparty/pugixml/tests/fuzz_xpath.dict +72 -0
- package/thirdparty/pugixml/tests/helpers.hpp +114 -0
- package/thirdparty/pugixml/tests/main.cpp +218 -0
- package/thirdparty/pugixml/tests/test.cpp +220 -0
- package/thirdparty/pugixml/tests/test.hpp +175 -0
- package/thirdparty/pugixml/tests/test_compact.cpp +150 -0
- package/thirdparty/pugixml/tests/test_deprecated.cpp +25 -0
- package/thirdparty/pugixml/tests/test_document.cpp +1910 -0
- package/thirdparty/pugixml/tests/test_dom_modify.cpp +2122 -0
- package/thirdparty/pugixml/tests/test_dom_text.cpp +601 -0
- package/thirdparty/pugixml/tests/test_dom_traverse.cpp +1481 -0
- package/thirdparty/pugixml/tests/test_header_guard.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_iosfwd_1.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_iosfwd_2.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_iostream_1.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_iostream_2.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_only_1.cpp +21 -0
- package/thirdparty/pugixml/tests/test_header_only_2.cpp +21 -0
- package/thirdparty/pugixml/tests/test_header_string_1.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_string_2.cpp +3 -0
- package/thirdparty/pugixml/tests/test_header_string_iostream.cpp +5 -0
- package/thirdparty/pugixml/tests/test_memory.cpp +303 -0
- package/thirdparty/pugixml/tests/test_parse.cpp +1463 -0
- package/thirdparty/pugixml/tests/test_parse_doctype.cpp +366 -0
- package/thirdparty/pugixml/tests/test_unicode.cpp +152 -0
- package/thirdparty/pugixml/tests/test_version.cpp +5 -0
- package/thirdparty/pugixml/tests/test_write.cpp +757 -0
- package/thirdparty/pugixml/tests/test_xpath.cpp +833 -0
- package/thirdparty/pugixml/tests/test_xpath_api.cpp +646 -0
- package/thirdparty/pugixml/tests/test_xpath_functions.cpp +844 -0
- package/thirdparty/pugixml/tests/test_xpath_operators.cpp +566 -0
- package/thirdparty/pugixml/tests/test_xpath_parse.cpp +428 -0
- package/thirdparty/pugixml/tests/test_xpath_paths.cpp +787 -0
- package/thirdparty/pugixml/tests/test_xpath_paths_abbrev_w3c.cpp +219 -0
- package/thirdparty/pugixml/tests/test_xpath_paths_w3c.cpp +312 -0
- package/thirdparty/pugixml/tests/test_xpath_variables.cpp +683 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_1.cpp +411 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_2.cpp +417 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_3.cpp +321 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_4.cpp +300 -0
- package/thirdparty/pugixml/tests/test_xpath_xalan_5.cpp +295 -0
- package/thirdparty/pugixml/tests/writer_string.cpp +79 -0
- package/thirdparty/pugixml/tests/writer_string.hpp +27 -0
- package/scripts/prepare-openxlsx.js +0 -126
package/NitroXlsx.podspec
CHANGED
|
@@ -13,27 +13,33 @@ Pod::Spec.new do |s|
|
|
|
13
13
|
s.platforms = { :ios => "15.1" }
|
|
14
14
|
s.source = { :git => "https://github.com/zydbkqf/react-native-nitro-xlsx.git", :tag => "#{s.version}" }
|
|
15
15
|
|
|
16
|
+
# OpenXLSX, pugixml and miniz are vendored under thirdparty/ and shipped
|
|
17
|
+
# with the package, so no network access is needed during pod install.
|
|
16
18
|
s.exclude_files = [
|
|
17
19
|
"cpp/tests/**/*",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
+
"thirdparty/miniz/tests/**/*",
|
|
21
|
+
"thirdparty/miniz/examples/**/*",
|
|
22
|
+
"thirdparty/pugixml/tests/**/*",
|
|
23
|
+
"thirdparty/OpenXLSX/Tests/**/*",
|
|
24
|
+
"thirdparty/OpenXLSX/Examples/**/*",
|
|
25
|
+
"thirdparty/OpenXLSX/Benchmarks/**/*",
|
|
20
26
|
]
|
|
21
27
|
|
|
22
28
|
s.source_files = [
|
|
23
29
|
"cpp/**/*.{h,hpp,cpp}",
|
|
24
30
|
"ios/**/*.{h,hpp,mm}",
|
|
25
|
-
"OpenXLSX/OpenXLSX/**/*.hpp",
|
|
26
|
-
"OpenXLSX/OpenXLSX/**/*.cpp",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"OpenXLSX/OpenXLSX/headers/detail/Zippy.hpp",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
31
|
+
"thirdparty/OpenXLSX/OpenXLSX/**/*.hpp",
|
|
32
|
+
"thirdparty/OpenXLSX/OpenXLSX/**/*.cpp",
|
|
33
|
+
"thirdparty/pugixml/src/**/*.hpp",
|
|
34
|
+
"thirdparty/pugixml/src/**/*.cpp",
|
|
35
|
+
"thirdparty/OpenXLSX/OpenXLSX/headers/detail/Zippy.hpp",
|
|
36
|
+
"thirdparty/miniz/**/*.h",
|
|
37
|
+
"thirdparty/miniz/**/*.c",
|
|
32
38
|
]
|
|
33
39
|
|
|
34
40
|
s.private_header_files = [
|
|
35
|
-
"OpenXLSX/**/*.hpp",
|
|
36
|
-
"OpenXLSX/**/*.h",
|
|
41
|
+
"thirdparty/OpenXLSX/**/*.hpp",
|
|
42
|
+
"thirdparty/OpenXLSX/**/*.h",
|
|
37
43
|
]
|
|
38
44
|
|
|
39
45
|
s.dependency "React"
|
|
@@ -45,29 +51,22 @@ Pod::Spec.new do |s|
|
|
|
45
51
|
"SWIFT_INSTALL_OBJC_HEADER" => "NO",
|
|
46
52
|
"OTHER_CFLAGS" => "$(inherited) -fmodules",
|
|
47
53
|
"OTHER_CPLUSPLUSFLAGS" => "$(inherited) -fmodules",
|
|
48
|
-
"HEADER_SEARCH_PATHS" => "$(inherited) ${PODS_TARGET_SRCROOT}/OpenXLSX ${PODS_TARGET_SRCROOT}/OpenXLSX/OpenXLSX ${PODS_TARGET_SRCROOT}/OpenXLSX/OpenXLSX/headers ${PODS_TARGET_SRCROOT}/
|
|
54
|
+
"HEADER_SEARCH_PATHS" => "$(inherited) ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX/OpenXLSX ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX/OpenXLSX/headers ${PODS_TARGET_SRCROOT}/thirdparty/pugixml/src ${PODS_TARGET_SRCROOT}/thirdparty/miniz",
|
|
49
55
|
}
|
|
50
56
|
|
|
51
57
|
s.user_target_xcconfig = {
|
|
52
58
|
"OTHER_CFLAGS" => "$(inherited) -fmodules",
|
|
53
59
|
"OTHER_CPLUSPLUSFLAGS" => "$(inherited) -fmodules",
|
|
54
|
-
"HEADER_SEARCH_PATHS" => "$(inherited) ${PODS_TARGET_SRCROOT}/OpenXLSX ${PODS_TARGET_SRCROOT}/OpenXLSX/OpenXLSX ${PODS_TARGET_SRCROOT}/OpenXLSX/OpenXLSX/headers ${PODS_TARGET_SRCROOT}/
|
|
60
|
+
"HEADER_SEARCH_PATHS" => "$(inherited) ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX/OpenXLSX ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX/OpenXLSX/headers ${PODS_TARGET_SRCROOT}/thirdparty/pugixml/src ${PODS_TARGET_SRCROOT}/thirdparty/miniz",
|
|
55
61
|
}
|
|
56
62
|
|
|
57
|
-
#
|
|
58
|
-
#
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
#
|
|
62
|
-
#
|
|
63
|
-
#
|
|
64
|
-
if ENV['NITRO_XLSX_USE_SPM'] == '1' && defined?(SPM) && SPM.respond_to?(:dependency)
|
|
65
|
-
SPM.dependency(s,
|
|
66
|
-
url: File.join(__dir__, "."),
|
|
67
|
-
requirement: { kind: 'upToNextMajorVersion', minimumVersion: s.version.to_s },
|
|
68
|
-
products: ['NitroXlsx']
|
|
69
|
-
)
|
|
70
|
-
end
|
|
63
|
+
# Swift Package Manager note: this podspec intentionally declares nothing for
|
|
64
|
+
# SPM. React Native 0.88+ drives SwiftPM from `package.json` (`swiftpmConfig`)
|
|
65
|
+
# and `npx react-native spm`, and the manifest lives in Package.swift. That
|
|
66
|
+
# manifest is still a placeholder (it only compiles ios/XlsxCacheDir.mm) and
|
|
67
|
+
# CocoaPods remains the build path for this library until the C++ targets,
|
|
68
|
+
# the vendored thirdparty/ tree and the NitroModules dependency are wired
|
|
69
|
+
# into it.
|
|
71
70
|
|
|
72
71
|
load 'nitrogen/generated/ios/NitroXlsx+autolinking.rb'
|
|
73
72
|
add_nitrogen_files(s)
|
package/Package.swift
CHANGED
|
@@ -1,20 +1,39 @@
|
|
|
1
1
|
// swift-tools-version: 5.9
|
|
2
2
|
import PackageDescription
|
|
3
3
|
|
|
4
|
-
// NOTE: This
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
4
|
+
// NOTE: This manifest is a placeholder for the Swift Package Manager migration,
|
|
5
|
+
// not the build path used today. CocoaPods (NitroXlsx.podspec) still compiles
|
|
6
|
+
// the library, including the vendored OpenXLSX / pugixml / miniz tree under
|
|
7
|
+
// thirdparty/.
|
|
8
8
|
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
9
|
+
// It is kept so that (a) the package is syntactically valid and `swift package
|
|
10
|
+
// describe` / `swift build` work, and (b) the eventual migration has a starting
|
|
11
|
+
// point. Today the target only compiles ios/XlsxCacheDir.mm — it exposes
|
|
12
|
+
// getCacheDir / setCacheDir but not the Nitro module itself.
|
|
13
|
+
//
|
|
14
|
+
// Migration target (React Native 0.88+ / nitro-modules 1.x): the package becomes
|
|
15
|
+
// one library product whose targets cover `cpp/`, `ios/XlsxCacheDir.mm` and the
|
|
16
|
+
// thirdparty/ sources, depending on `.product(name: "NitroModules",
|
|
17
|
+
// package: "NitroModules")`, with `swiftpmConfig` in package.json driving
|
|
18
|
+
// autolinking via `npx react-native spm`. The unrelated NITRO_XLSX_USE_SPM env
|
|
19
|
+
// switch that used to live in the podspec has been removed — it was never an
|
|
20
|
+
// upstream concept.
|
|
21
|
+
//
|
|
22
|
+
// Target settings worth knowing:
|
|
23
|
+
// - This is a C-family target, so SwiftPM insists on a public headers
|
|
24
|
+
// directory and defaults it to `include/`, which does not exist here.
|
|
25
|
+
// `publicHeadersPath: "."` points the generated umbrella header at the
|
|
26
|
+
// (header-less) source dir instead of failing to resolve the manifest.
|
|
27
|
+
// - cxxLanguageStandard must match the podspec's CLANG_CXX_LANGUAGE_STANDARD
|
|
28
|
+
// (c++20); SwiftPM defaults to gnu++14 and warns on the nested namespace
|
|
29
|
+
// definitions used by the sources.
|
|
13
30
|
|
|
14
31
|
let package = Package(
|
|
15
32
|
name: "NitroXlsx",
|
|
16
33
|
platforms: [
|
|
17
|
-
.
|
|
34
|
+
// Matches NitroXlsx.podspec (`:ios => "15.1"`). SwiftPM's .v15 only
|
|
35
|
+
// expresses 15.0, so the explicit version string is used instead.
|
|
36
|
+
.iOS("15.1")
|
|
18
37
|
],
|
|
19
38
|
products: [
|
|
20
39
|
.library(
|
|
@@ -27,9 +46,11 @@ let package = Package(
|
|
|
27
46
|
name: "NitroXlsx",
|
|
28
47
|
path: "ios",
|
|
29
48
|
sources: ["XlsxCacheDir.mm"],
|
|
49
|
+
publicHeadersPath: ".",
|
|
30
50
|
cxxSettings: [
|
|
31
51
|
.headerSearchPath("../cpp")
|
|
32
52
|
]
|
|
33
53
|
)
|
|
34
|
-
]
|
|
54
|
+
],
|
|
55
|
+
cxxLanguageStandard: .cxx20
|
|
35
56
|
)
|
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ npm install react-native-nitro-xlsx
|
|
|
29
29
|
yarn add react-native-nitro-xlsx
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
> **Note**: Native dependencies (
|
|
32
|
+
> **Note**: Native dependencies (OpenXLSX, pugixml and miniz) are vendored under `thirdparty/` and shipped with the package. The first build compiles them from source; no network access is required.
|
|
33
33
|
|
|
34
34
|
### iOS
|
|
35
35
|
|
|
@@ -197,7 +197,7 @@ const buffer = await workbook.getBuffer();
|
|
|
197
197
|
- `createWorkbook(): XlsxWorkbook` - Create a new workbook. The native side supplies the platform cache directory automatically (`Context.getCacheDir()` on Android, `NSCachesDirectory` on iOS).
|
|
198
198
|
- `openWorkbook(path: string): XlsxWorkbook` - Open workbook from file path
|
|
199
199
|
- `openWorkbookFromBuffer(buffer: ArrayBuffer): XlsxWorkbook` - Open workbook from buffer
|
|
200
|
-
- `fromJSON(data: Record<string, Array<Record<string, string | number | boolean | null>>>): XlsxWorkbook` - Create a workbook with one worksheet per key (native `AnyMap`s, no JSON round-trip)
|
|
200
|
+
- `fromJSON(data: Record<string, Array<Record<string, string | number | boolean | null>>>): XlsxWorkbook` - Create a workbook with one worksheet per key (native `AnyMap`s, no JSON round-trip). The default sheet is removed unless one of the keys is named after it
|
|
201
201
|
|
|
202
202
|
### XlsxWorkbook
|
|
203
203
|
|
|
@@ -211,7 +211,7 @@ const buffer = await workbook.getBuffer();
|
|
|
211
211
|
- `clone(existingName: string, newName: string): XlsxWorksheet` - Copy a worksheet
|
|
212
212
|
- `addCellFormat(): XlsxCellFormat` - Add a new cell format
|
|
213
213
|
- `getBuffer(): Promise<ArrayBuffer>` - Generate and return the XLSX file as a buffer
|
|
214
|
-
- `toJSON(): Record<string, Array<Record<string, string | number | boolean | null>>>` - Export every worksheet as a `Record` keyed by sheet name
|
|
214
|
+
- `toJSON(): Record<string, Array<Record<string, string | number | boolean | null>>>` - Export every worksheet as a `Record` keyed by sheet name. Worksheets without a single cell are skipped, so a fresh workbook exports as `{}`
|
|
215
215
|
|
|
216
216
|
### XlsxWorksheet
|
|
217
217
|
|
|
@@ -232,7 +232,7 @@ const buffer = await workbook.getBuffer();
|
|
|
232
232
|
| `writeFormulaNum(row, col, formula, number, format?)` | Write a formula with number default |
|
|
233
233
|
| `writeFormulaString(row, col, formula, string, format?)` | Write a formula with string default |
|
|
234
234
|
| `writeFormulaBoolean(row, col, formula, boolean, format?)` | Write a formula with boolean default |
|
|
235
|
-
| `writeArrayFormula(firstRow, firstCol, lastRow, lastCol, formula, format?)` |
|
|
235
|
+
| `writeArrayFormula(firstRow, firstCol, lastRow, lastCol, formula, format?)` | Not supported by the underlying engine — always throws `UNSUPPORTED` |
|
|
236
236
|
|
|
237
237
|
#### Date/URL
|
|
238
238
|
| Method | Description |
|
|
@@ -409,7 +409,7 @@ The `XlsxCellFormat` interface is based on OpenXLSX's `XLCellFormat` class and p
|
|
|
409
409
|
- `setNumFormatIndex(index)` - Set built-in format (use `NumFormat` constants)
|
|
410
410
|
|
|
411
411
|
#### Colors/Pattern
|
|
412
|
-
- `setBgColor(color)`, `setFgColor(color)`
|
|
412
|
+
- `setBgColor(color)`, `setFgColor(color)` - For solid fills Excel paints the foreground colour, so a colour set only via `setBgColor` is also written as the fill's foreground colour to make it visible
|
|
413
413
|
- `setPattern(pattern)`
|
|
414
414
|
|
|
415
415
|
#### Borders
|
|
@@ -436,9 +436,9 @@ The `XlsxCellFormat` interface is based on OpenXLSX's `XLCellFormat` class and p
|
|
|
436
436
|
|
|
437
437
|
When reading cells, the following types are returned:
|
|
438
438
|
|
|
439
|
-
- `empty` - Empty cell
|
|
440
439
|
- `string` - Text string
|
|
441
|
-
- `number` - Numeric value
|
|
440
|
+
- `number` - Numeric value with no date/time number format applied
|
|
441
|
+
- `date` - Numeric value whose number format is a date/time code. This covers the built-in ids 14–22 and custom codes such as `yyyy-mm-dd`, `h:mm` or `yyyy-mm-dd h:mm:ss`. The stored value is still an **Excel serial number in the 1900 date system** (days since `1900-01-01`, where `1900-01-01` = `1`, including the spurious `1900-02-29`):
|
|
442
442
|
```ts
|
|
443
443
|
// Excel serial (1900-based) → JS Date
|
|
444
444
|
const date = new Date(Math.round((serial - 25569) * 86400000));
|
|
@@ -447,8 +447,11 @@ When reading cells, the following types are returned:
|
|
|
447
447
|
```
|
|
448
448
|
- `boolean` - Boolean value
|
|
449
449
|
- `error` - Error value
|
|
450
|
-
- `formula` -
|
|
451
|
-
- `blank` -
|
|
450
|
+
- `formula` - Cell holds a formula (checked before the value type, so a formula cell never reads as `number`/`string`)
|
|
451
|
+
- `blank` - Cell exists (e.g. it only carries a style) but has no value
|
|
452
|
+
- `empty` - No cell at these coordinates at all
|
|
453
|
+
|
|
454
|
+
`getCellType` returns `empty`/`blank` without creating the cell, so probing a cell never mutates the sheet.
|
|
452
455
|
|
|
453
456
|
## Constants
|
|
454
457
|
|
|
@@ -510,6 +513,15 @@ To regenerate the native specs after modifying the TypeScript spec files:
|
|
|
510
513
|
npx nitrogen
|
|
511
514
|
```
|
|
512
515
|
|
|
516
|
+
### Tests
|
|
517
|
+
|
|
518
|
+
```sh
|
|
519
|
+
yarn test # JS/TS suite (Jest)
|
|
520
|
+
yarn test:cpp # configure + build cpp/tests into cpp/tests/build, then run gtest
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
`yarn test:cpp` needs a local GoogleTest installation (`brew install googletest` on macOS); the CMake project looks under `/opt/homebrew`, `/usr/local` and `/usr` first and only falls back to downloading googletest when nothing is found. OpenXLSX, pugixml and miniz are vendored under `thirdparty/`, so the C++ build works offline.
|
|
524
|
+
|
|
513
525
|
## License
|
|
514
526
|
|
|
515
527
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
package/android/CMakeLists.txt
CHANGED
|
@@ -4,33 +4,26 @@ project("NitroXlsx")
|
|
|
4
4
|
set(CMAKE_CXX_STANDARD 20)
|
|
5
5
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
6
6
|
|
|
7
|
-
set(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
#
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
message(FATAL_ERROR
|
|
28
|
-
"OpenXLSX not found at ${OPENXLSX_DIR}.\n"
|
|
29
|
-
"Please manually clone OpenXLSX:\n"
|
|
30
|
-
" cd ${CMAKE_SOURCE_DIR}/.. && git clone --depth 1 --branch v0.5.1 https://github.com/troldal/OpenXLSX.git OpenXLSX\n"
|
|
31
|
-
"Then clean CMake cache and rebuild."
|
|
32
|
-
)
|
|
33
|
-
endif()
|
|
7
|
+
set(THIRDPARTY_DIR ${CMAKE_SOURCE_DIR}/../thirdparty)
|
|
8
|
+
set(OPENXLSX_DIR ${THIRDPARTY_DIR}/OpenXLSX)
|
|
9
|
+
|
|
10
|
+
# OpenXLSX, pugixml and miniz are vendored under thirdparty/ so the build
|
|
11
|
+
# never clones anything from GitHub.
|
|
12
|
+
foreach(required_dir OpenXLSX pugixml miniz)
|
|
13
|
+
if(NOT EXISTS ${THIRDPARTY_DIR}/${required_dir})
|
|
14
|
+
message(FATAL_ERROR
|
|
15
|
+
"Vendored dependency '${required_dir}' is missing at ${THIRDPARTY_DIR}/${required_dir}.\n"
|
|
16
|
+
"The thirdparty/ tree is part of the package - reinstall react-native-nitro-xlsx."
|
|
17
|
+
)
|
|
18
|
+
endif()
|
|
19
|
+
endforeach()
|
|
20
|
+
|
|
21
|
+
# Point OpenXLSX's FetchContent lookups at the vendored copies, so
|
|
22
|
+
# manage_dependency() populates them from disk instead of cloning GitHub.
|
|
23
|
+
set(FORCE_FETCH_ALL ON CACHE BOOL "" FORCE)
|
|
24
|
+
set(FETCHCONTENT_SOURCE_DIR_PUGIXML_FETCH ${THIRDPARTY_DIR}/pugixml CACHE PATH "" FORCE)
|
|
25
|
+
set(FETCHCONTENT_SOURCE_DIR_MINIZ_FETCH ${THIRDPARTY_DIR}/miniz CACHE PATH "" FORCE)
|
|
26
|
+
set(FETCHCONTENT_UPDATES_DISCONNECTED ON CACHE BOOL "" FORCE)
|
|
34
27
|
|
|
35
28
|
set(OPENXLSX_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
|
|
36
29
|
set(OPENXLSX_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
package/cpp/HybridNitroXlsx.cpp
CHANGED
|
@@ -39,12 +39,36 @@ std::shared_ptr<HybridXlsxWorkbookSpec> HybridNitroXlsx::openWorkbookFromBuffer(
|
|
|
39
39
|
std::shared_ptr<HybridXlsxWorkbookSpec> HybridNitroXlsx::fromJSON(const std::unordered_map<std::string, std::vector<std::shared_ptr<AnyMap>>>& data) {
|
|
40
40
|
return withXlsxError(xlsx_error::INVALID_ARGUMENT, [&]() -> std::shared_ptr<HybridXlsxWorkbookSpec> {
|
|
41
41
|
auto workbook = std::make_shared<HybridXlsxWorkbook>();
|
|
42
|
-
|
|
42
|
+
// Always leave the workbook usable: create the underlying XLDocument even
|
|
43
|
+
// when there is no data, so getBuffer()/toJSON()/getWorksheetCount() work.
|
|
44
|
+
workbook->ensureOpen();
|
|
45
|
+
|
|
46
|
+
// Snapshot the sheet(s) OpenXLSX created by default (e.g. "Sheet1") so they
|
|
47
|
+
// can be removed once the key sheets exist (deleteSheet refuses to delete
|
|
48
|
+
// the last sheet, so key sheets must be added first).
|
|
49
|
+
std::vector<std::string> defaultNames;
|
|
50
|
+
{
|
|
51
|
+
double count = workbook->getWorksheetCount();
|
|
52
|
+
for (double i = 0; i < count; ++i) {
|
|
53
|
+
defaultNames.push_back(workbook->getWorksheet(i)->getName());
|
|
54
|
+
}
|
|
55
|
+
}
|
|
43
56
|
|
|
44
57
|
for (const auto& [sheetName, rows] : data) {
|
|
45
58
|
auto sheet = workbook->addWorksheet(sheetName);
|
|
46
59
|
sheet->fromJSON(rows);
|
|
47
60
|
}
|
|
61
|
+
|
|
62
|
+
// README promises one worksheet per key: drop the default sheet(s) unless a
|
|
63
|
+
// key claimed them. Skip when there is no data - a workbook must keep at
|
|
64
|
+
// least one sheet.
|
|
65
|
+
if (!data.empty()) {
|
|
66
|
+
for (const auto& name : defaultNames) {
|
|
67
|
+
if (data.count(name) == 0) {
|
|
68
|
+
workbook->deleteSheet(name);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
48
72
|
return workbook;
|
|
49
73
|
});
|
|
50
74
|
}
|
|
@@ -1,24 +1,7 @@
|
|
|
1
1
|
#include "HybridXlsxCellFormat.hpp"
|
|
2
|
-
#include <sstream>
|
|
3
|
-
#include <iomanip>
|
|
4
|
-
#include <cctype>
|
|
5
2
|
|
|
6
3
|
namespace margelo::nitro::xlsx {
|
|
7
4
|
|
|
8
|
-
static std::string doubleToHexColor(double color) {
|
|
9
|
-
uint32_t c = static_cast<uint32_t>(color);
|
|
10
|
-
// Excel uses ARGB format, prepend alpha channel (FF)
|
|
11
|
-
uint32_t argb = c | 0xFF000000;
|
|
12
|
-
std::stringstream ss;
|
|
13
|
-
ss << std::hex << std::setfill('0') << std::setw(8) << argb;
|
|
14
|
-
std::string result = ss.str();
|
|
15
|
-
// Convert to uppercase (OpenXLSX expects uppercase hex)
|
|
16
|
-
for (char& ch : result) {
|
|
17
|
-
ch = std::toupper(ch);
|
|
18
|
-
}
|
|
19
|
-
return result;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
5
|
HybridXlsxCellFormat::HybridXlsxCellFormat()
|
|
23
6
|
: HybridObject("XlsxCellFormat"), HybridXlsxCellFormatSpec() {
|
|
24
7
|
}
|
|
@@ -26,263 +9,180 @@ HybridXlsxCellFormat::HybridXlsxCellFormat()
|
|
|
26
9
|
HybridXlsxCellFormat::~HybridXlsxCellFormat() {
|
|
27
10
|
}
|
|
28
11
|
|
|
29
|
-
OpenXLSX::XLStyleIndex HybridXlsxCellFormat::applyToDocument(OpenXLSX::XLStyles& styles) {
|
|
30
|
-
|
|
31
|
-
return *_styleIndex;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Create cell format in document first to get a valid XML node.
|
|
35
|
-
// OpenXLSX default-constructed style objects have empty XML nodes;
|
|
36
|
-
// setters on empty nodes silently fail. We must create the node in
|
|
37
|
-
// the document first, then modify the live node via operator[].
|
|
38
|
-
OpenXLSX::XLCellFormat emptyCellFormat;
|
|
39
|
-
OpenXLSX::XLStyleIndex cellFormatIndex = styles.cellFormats().create(emptyCellFormat);
|
|
40
|
-
OpenXLSX::XLCellFormat cellFormat = styles.cellFormats()[cellFormatIndex];
|
|
41
|
-
|
|
42
|
-
// Font
|
|
43
|
-
if (!_fontName.empty() || _fontSize > 0 || _fontColor > 0 || _bold || _italic || _underline > 0 || _strikeout || _fontScript > 0) {
|
|
44
|
-
OpenXLSX::XLFont emptyFont;
|
|
45
|
-
OpenXLSX::XLStyleIndex fontIndex = styles.fonts().create(emptyFont);
|
|
46
|
-
OpenXLSX::XLFont font = styles.fonts()[fontIndex];
|
|
47
|
-
if (!_fontName.empty()) font.setFontName(_fontName);
|
|
48
|
-
if (_fontSize > 0) font.setFontSize(static_cast<size_t>(_fontSize));
|
|
49
|
-
if (_fontColor > 0) font.setFontColor(OpenXLSX::XLColor(doubleToHexColor(_fontColor)));
|
|
50
|
-
if (_bold) font.setBold();
|
|
51
|
-
if (_italic) font.setItalic();
|
|
52
|
-
if (_underline > 0) font.setUnderline(static_cast<OpenXLSX::XLUnderlineStyle>(_underline));
|
|
53
|
-
if (_strikeout) font.setStrikethrough();
|
|
54
|
-
if (_fontScript > 0) font.setVertAlign(static_cast<OpenXLSX::XLVerticalAlignRunStyle>(_fontScript));
|
|
55
|
-
cellFormat.setFontIndex(fontIndex);
|
|
56
|
-
cellFormat.setApplyFont(true);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Alignment
|
|
60
|
-
if (_textWrap || _rotation != 0 || _indent > 0 || _align > 0 || _verticalAlign > 0 || _shrink) {
|
|
61
|
-
if (_align > 0) cellFormat.alignment(true).setHorizontal(static_cast<OpenXLSX::XLAlignmentStyle>(_align));
|
|
62
|
-
if (_verticalAlign > 0) cellFormat.alignment(true).setVertical(static_cast<OpenXLSX::XLAlignmentStyle>(_verticalAlign));
|
|
63
|
-
if (_textWrap) cellFormat.alignment(true).setWrapText();
|
|
64
|
-
if (_rotation != 0) cellFormat.alignment(true).setTextRotation(static_cast<uint16_t>(_rotation));
|
|
65
|
-
if (_indent > 0) cellFormat.alignment(true).setIndent(static_cast<uint32_t>(_indent));
|
|
66
|
-
if (_shrink) cellFormat.alignment(true).setShrinkToFit();
|
|
67
|
-
cellFormat.setApplyAlignment(true);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// Number format
|
|
71
|
-
if (!_numFormat.empty()) {
|
|
72
|
-
OpenXLSX::XLNumberFormat emptyNumFormat;
|
|
73
|
-
OpenXLSX::XLStyleIndex numFmtIndex = styles.numberFormats().create(emptyNumFormat);
|
|
74
|
-
OpenXLSX::XLNumberFormat numFormat = styles.numberFormats()[numFmtIndex];
|
|
75
|
-
numFormat.setFormatCode(_numFormat);
|
|
76
|
-
// Assign a unique custom numFmtId (>= 164 for user-defined formats)
|
|
77
|
-
static uint32_t nextCustomNumFmtId = 164;
|
|
78
|
-
numFormat.setNumberFormatId(nextCustomNumFmtId++);
|
|
79
|
-
cellFormat.setNumberFormatId(numFormat.numberFormatId());
|
|
80
|
-
cellFormat.setApplyNumberFormat(true);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Fill
|
|
84
|
-
if (_bgColor > 0 || _fgColor > 0 || _pattern > 0) {
|
|
85
|
-
OpenXLSX::XLFill emptyFill;
|
|
86
|
-
OpenXLSX::XLStyleIndex fillIndex = styles.fills().create(emptyFill);
|
|
87
|
-
OpenXLSX::XLFill fill = styles.fills()[fillIndex];
|
|
88
|
-
fill.setPatternType(_pattern > 0
|
|
89
|
-
? static_cast<OpenXLSX::XLPatternType>(_pattern)
|
|
90
|
-
: OpenXLSX::XLPatternType::XLPatternSolid);
|
|
91
|
-
if (_bgColor > 0) fill.setBackgroundColor(OpenXLSX::XLColor(doubleToHexColor(_bgColor)));
|
|
92
|
-
if (_fgColor > 0) fill.setColor(OpenXLSX::XLColor(doubleToHexColor(_fgColor)));
|
|
93
|
-
cellFormat.setFillIndex(fillIndex);
|
|
94
|
-
cellFormat.setApplyFill(true);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// Border
|
|
98
|
-
if (_border > 0 || _bottom > 0 || _top > 0 || _left > 0 || _right > 0 || _diagonal > 0) {
|
|
99
|
-
OpenXLSX::XLBorder emptyBorder;
|
|
100
|
-
OpenXLSX::XLStyleIndex borderIndex = styles.borders().create(emptyBorder);
|
|
101
|
-
OpenXLSX::XLBorder border = styles.borders()[borderIndex];
|
|
102
|
-
// TODO: Implement border styling with OpenXLSX v0.5.1 API
|
|
103
|
-
cellFormat.setBorderIndex(borderIndex);
|
|
104
|
-
cellFormat.setApplyBorder(true);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Protection
|
|
108
|
-
if (_locked) {
|
|
109
|
-
cellFormat.setLocked(true);
|
|
110
|
-
cellFormat.setApplyProtection(true);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
_styleIndex = cellFormatIndex;
|
|
114
|
-
return cellFormatIndex;
|
|
12
|
+
OpenXLSX::XLStyleIndex HybridXlsxCellFormat::applyToDocument(OpenXLSX::XLStyles& styles, uint64_t documentGeneration) {
|
|
13
|
+
return _fmt.applyToDocument(styles, documentGeneration);
|
|
115
14
|
}
|
|
116
15
|
|
|
117
16
|
void HybridXlsxCellFormat::applyToCell(OpenXLSX::XLCell& cell, OpenXLSX::XLStyleIndex styleIndex) {
|
|
118
|
-
|
|
17
|
+
_fmt.applyToCell(cell, styleIndex);
|
|
119
18
|
}
|
|
120
19
|
|
|
121
20
|
void HybridXlsxCellFormat::setFontName(const std::string& name) {
|
|
122
|
-
|
|
21
|
+
_fmt.setFontName(name);
|
|
123
22
|
}
|
|
124
23
|
|
|
125
24
|
void HybridXlsxCellFormat::setFontSize(double size) {
|
|
126
|
-
|
|
25
|
+
_fmt.setFontSize(size);
|
|
127
26
|
}
|
|
128
27
|
|
|
129
28
|
void HybridXlsxCellFormat::setFontColor(double color) {
|
|
130
|
-
|
|
29
|
+
_fmt.setFontColor(color);
|
|
131
30
|
}
|
|
132
31
|
|
|
133
32
|
void HybridXlsxCellFormat::setFontScript(double style) {
|
|
134
|
-
|
|
33
|
+
_fmt.setFontScript(style);
|
|
135
34
|
}
|
|
136
35
|
|
|
137
36
|
void HybridXlsxCellFormat::setBold() {
|
|
138
|
-
|
|
37
|
+
_fmt.setBold();
|
|
139
38
|
}
|
|
140
39
|
|
|
141
40
|
void HybridXlsxCellFormat::setItalic() {
|
|
142
|
-
|
|
41
|
+
_fmt.setItalic();
|
|
143
42
|
}
|
|
144
43
|
|
|
145
44
|
void HybridXlsxCellFormat::setUnderline(std::optional<double> style) {
|
|
146
|
-
|
|
45
|
+
_fmt.setUnderline(style);
|
|
147
46
|
}
|
|
148
47
|
|
|
149
48
|
void HybridXlsxCellFormat::setStrikeout() {
|
|
150
|
-
|
|
49
|
+
_fmt.setStrikeout();
|
|
151
50
|
}
|
|
152
51
|
|
|
153
52
|
void HybridXlsxCellFormat::setAlign(double align) {
|
|
154
|
-
|
|
53
|
+
_fmt.setAlign(align);
|
|
155
54
|
}
|
|
156
55
|
|
|
157
56
|
void HybridXlsxCellFormat::setVerticalAlign(double align) {
|
|
158
|
-
|
|
57
|
+
_fmt.setVerticalAlign(align);
|
|
159
58
|
}
|
|
160
59
|
|
|
161
60
|
void HybridXlsxCellFormat::setTextWrap() {
|
|
162
|
-
|
|
61
|
+
_fmt.setTextWrap();
|
|
163
62
|
}
|
|
164
63
|
|
|
165
64
|
void HybridXlsxCellFormat::setRotation(double angle) {
|
|
166
|
-
|
|
65
|
+
_fmt.setRotation(angle);
|
|
167
66
|
}
|
|
168
67
|
|
|
169
68
|
void HybridXlsxCellFormat::setIndent(double level) {
|
|
170
|
-
|
|
69
|
+
_fmt.setIndent(level);
|
|
171
70
|
}
|
|
172
71
|
|
|
173
72
|
void HybridXlsxCellFormat::setShrink() {
|
|
174
|
-
|
|
73
|
+
_fmt.setShrink();
|
|
175
74
|
}
|
|
176
75
|
|
|
177
76
|
void HybridXlsxCellFormat::setNumFormat(const std::string& format) {
|
|
178
|
-
|
|
77
|
+
_fmt.setNumFormat(format);
|
|
179
78
|
}
|
|
180
79
|
|
|
181
80
|
void HybridXlsxCellFormat::setNumFormatIndex(double index) {
|
|
182
|
-
|
|
81
|
+
_fmt.setNumFormatIndex(index);
|
|
183
82
|
}
|
|
184
83
|
|
|
185
84
|
void HybridXlsxCellFormat::setBgColor(double color) {
|
|
186
|
-
|
|
85
|
+
_fmt.setBgColor(color);
|
|
187
86
|
}
|
|
188
87
|
|
|
189
88
|
void HybridXlsxCellFormat::setFgColor(double color) {
|
|
190
|
-
|
|
89
|
+
_fmt.setFgColor(color);
|
|
191
90
|
}
|
|
192
91
|
|
|
193
92
|
void HybridXlsxCellFormat::setPattern(double pattern) {
|
|
194
|
-
|
|
93
|
+
_fmt.setPattern(pattern);
|
|
195
94
|
}
|
|
196
95
|
|
|
197
96
|
void HybridXlsxCellFormat::setBorder(double style) {
|
|
198
|
-
|
|
97
|
+
_fmt.setBorder(style);
|
|
199
98
|
}
|
|
200
99
|
|
|
201
100
|
void HybridXlsxCellFormat::setBorderColor(double color) {
|
|
202
|
-
|
|
101
|
+
_fmt.setBorderColor(color);
|
|
203
102
|
}
|
|
204
103
|
|
|
205
104
|
void HybridXlsxCellFormat::setBottom(double style) {
|
|
206
|
-
|
|
105
|
+
_fmt.setBottom(style);
|
|
207
106
|
}
|
|
208
107
|
|
|
209
108
|
void HybridXlsxCellFormat::setTop(double style) {
|
|
210
|
-
|
|
109
|
+
_fmt.setTop(style);
|
|
211
110
|
}
|
|
212
111
|
|
|
213
112
|
void HybridXlsxCellFormat::setLeft(double style) {
|
|
214
|
-
|
|
113
|
+
_fmt.setLeft(style);
|
|
215
114
|
}
|
|
216
115
|
|
|
217
116
|
void HybridXlsxCellFormat::setRight(double style) {
|
|
218
|
-
|
|
117
|
+
_fmt.setRight(style);
|
|
219
118
|
}
|
|
220
119
|
|
|
221
120
|
void HybridXlsxCellFormat::setBottomColor(double color) {
|
|
222
|
-
|
|
121
|
+
_fmt.setBottomColor(color);
|
|
223
122
|
}
|
|
224
123
|
|
|
225
124
|
void HybridXlsxCellFormat::setTopColor(double color) {
|
|
226
|
-
|
|
125
|
+
_fmt.setTopColor(color);
|
|
227
126
|
}
|
|
228
127
|
|
|
229
128
|
void HybridXlsxCellFormat::setLeftColor(double color) {
|
|
230
|
-
|
|
129
|
+
_fmt.setLeftColor(color);
|
|
231
130
|
}
|
|
232
131
|
|
|
233
132
|
void HybridXlsxCellFormat::setRightColor(double color) {
|
|
234
|
-
|
|
133
|
+
_fmt.setRightColor(color);
|
|
235
134
|
}
|
|
236
135
|
|
|
237
136
|
void HybridXlsxCellFormat::setDiagonal(double style) {
|
|
238
|
-
|
|
137
|
+
_fmt.setDiagonal(style);
|
|
239
138
|
}
|
|
240
139
|
|
|
241
140
|
void HybridXlsxCellFormat::setDiagonalColor(double color) {
|
|
242
|
-
|
|
141
|
+
_fmt.setDiagonalColor(color);
|
|
243
142
|
}
|
|
244
143
|
|
|
245
144
|
void HybridXlsxCellFormat::setLocked() {
|
|
246
|
-
|
|
145
|
+
_fmt.setLocked();
|
|
247
146
|
}
|
|
248
147
|
|
|
249
148
|
void HybridXlsxCellFormat::setUnlocked() {
|
|
250
|
-
|
|
149
|
+
_fmt.setUnlocked();
|
|
251
150
|
}
|
|
252
151
|
|
|
253
152
|
void HybridXlsxCellFormat::setHyperlink() {
|
|
254
|
-
|
|
153
|
+
_fmt.setHyperlink();
|
|
255
154
|
}
|
|
256
155
|
|
|
257
156
|
void HybridXlsxCellFormat::setFontOnly() {
|
|
157
|
+
_fmt.setFontOnly();
|
|
258
158
|
}
|
|
259
159
|
|
|
260
160
|
std::string HybridXlsxCellFormat::getFontName() {
|
|
261
|
-
return
|
|
161
|
+
return _fmt.getFontName();
|
|
262
162
|
}
|
|
263
163
|
|
|
264
164
|
double HybridXlsxCellFormat::getFontSize() {
|
|
265
|
-
return
|
|
165
|
+
return _fmt.getFontSize();
|
|
266
166
|
}
|
|
267
167
|
|
|
268
168
|
double HybridXlsxCellFormat::getFontColor() {
|
|
269
|
-
return
|
|
169
|
+
return _fmt.getFontColor();
|
|
270
170
|
}
|
|
271
171
|
|
|
272
172
|
bool HybridXlsxCellFormat::getIsBold() {
|
|
273
|
-
return
|
|
173
|
+
return _fmt.getIsBold();
|
|
274
174
|
}
|
|
275
175
|
|
|
276
176
|
bool HybridXlsxCellFormat::getIsItalic() {
|
|
277
|
-
return
|
|
177
|
+
return _fmt.getIsItalic();
|
|
278
178
|
}
|
|
279
179
|
|
|
280
180
|
std::string HybridXlsxCellFormat::getNumFormat() {
|
|
281
|
-
return
|
|
181
|
+
return _fmt.getNumFormat();
|
|
282
182
|
}
|
|
283
183
|
|
|
284
184
|
double HybridXlsxCellFormat::getBgColor() {
|
|
285
|
-
return
|
|
185
|
+
return _fmt.getBgColor();
|
|
286
186
|
}
|
|
287
187
|
|
|
288
|
-
}
|
|
188
|
+
}
|