awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to dotnet/open-xml-sdk

Open-source alternatives to Open XML SDK

30 open-source projects similar to dotnet/open-xml-sdk, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Open XML SDK alternative.

  • officedev/open-xml-sdkofficedev avatar

    officedev/open-xml-sdk

    4,538View on GitHub↗

    This project is an Open XML document library and generator used to programmatically create and modify Microsoft Office files. It enables the production of Word, Excel, and PowerPoint documents by manipulating the underlying Open XML structure. The library provides capabilities for Open XML document processing, including the automated modification of existing files and the generation of formatted office reports and spreadsheets for server-side production.

    C#
    View on GitHub↗4,538
  • unidoc/uniofficeunidoc avatar

    unidoc/unioffice

    4,809View on GitHub↗

    unioffice is a comprehensive document processing suite that provides a PDF document processor, an Open XML document library, a document security toolkit, and a document content extractor. It is designed to programmatically create, read, and modify Word, Excel, and PowerPoint files, as well as generate and edit PDF documents. The project is distinguished by its native language implementation of the Open XML standard, which removes native binary dependencies to simplify container deployments. It features advanced capabilities for digital document security, including hardware-based PDF signing,

    Godocxecma-376excel
    View on GitHub↗4,809
  • jankallman/epplusJanKallman avatar

    JanKallman/EPPlus

    3,775View on GitHub↗

    EPPlus is a .NET library designed for programmatically creating, manipulating, and styling Excel files using the Open XML format. It functions as an office file manipulator and spreadsheet processor that allows for the generation and modification of workbooks without requiring the local installation of office productivity software. The library enables the creation of complex workbooks featuring charts, pivot tables, and conditional formatting for automated reporting. It includes an internal calculation engine to execute embedded formulas and spreadsheet logic, and provides security features s

    C#dotnetexcelooxml
    View on GitHub↗3,775

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • sparklemotion/nokogirisparklemotion avatar

    sparklemotion/nokogiri

    6,236View on GitHub↗

    Nokogiri is an XML and HTML parsing library that builds navigable document trees from strings, files, or URLs using native C parsers for speed and standards compliance. It provides a CSS selector engine that translates CSS3 selectors into XPath expressions for querying nodes, an XPath query interface with namespace support, a document manipulation toolkit for modifying parsed documents, XSD schema validation, and XSLT transformation capabilities. The library wraps libxml2 and libxslt C libraries with Ruby bindings for high-performance parsing, and integrates Google's Gumbo parser for standard

    Clibxml2libxsltnokogiri
    View on GitHub↗6,236
  • zeux/pugixmlzeux avatar

    zeux/pugixml

    4,590View on GitHub↗

    pugixml is a lightweight C++ XML parser and DOM-based library used for parsing, manipulating, and saving XML documents. It provides a portable toolset for reading XML data from files, strings, or memory buffers and converting them into an in-memory document object model. The library includes a dedicated XPath 1.0 engine for extracting specific nodes and data through path expressions. It distinguishes itself through customizable memory management, allowing heap operations to be redirected to user-defined allocation functions, and the ability to perform in-place buffer parsing to reduce memory

    C++
    View on GitHub↗4,590
  • fb55/htmlparser2fb55 avatar

    fb55/htmlparser2

    4,774View on GitHub↗

    htmlparser2 is a collection of tools for high-performance markup parsing, DOM manipulation, and incremental stream processing. It functions as an HTML and XML parser that converts markup strings into structured object trees, alongside a streaming markup parser designed for memory-efficient processing of large documents. The project includes a DOM manipulation library for querying, modifying, and serializing document object model trees. It also provides a web feed parser to extract structured metadata and entries from RSS, RDF, and Atom feeds. The library covers broad capabilities in data par

    TypeScript
    View on GitHub↗4,774
  • martinblech/xmltodictmartinblech avatar

    martinblech/xmltodict

    5,741View on GitHub↗

    xmltodict is a Python library that provides bidirectional serialization between XML documents and dictionaries. It functions as a parser that converts marked-up input into key-value pairs and a serialization utility that transforms dictionaries back into structured XML documents. The project includes an incremental stream processor that uses depth-based callbacks to handle large XML files while maintaining constant memory usage. It features a namespace manager for mapping prefixes and declarations, as well as a security sanitizer that blocks external entity expansion and validates element nam

    Python
    View on GitHub↗5,741
  • inikulin/parse5inikulin avatar

    inikulin/parse5

    3,903View on GitHub↗

    parse5 is a WHATWG HTML parser and serializer for Node.js. It transforms HTML strings into a document object model and converts those trees back into valid HTML strings, following the logic defined by the HTML Living Standard. The project functions as a streaming HTML processor, using incremental parsing to handle large documents in chunks. It includes an HTML5 compliant tokenizer that uses a state-machine approach to break input into tokens according to official web specifications. The toolset covers HTML document parsing, serialization, and real-time rewriting via streams. These capabiliti

    TypeScript
    View on GitHub↗3,903
  • open-xml-templating/docxtemplateropen-xml-templating avatar

    open-xml-templating/docxtemplater

    3,592View on GitHub↗

    Docxtemplater is an office document generation engine designed to automate the creation of personalized business documents, presentations, and spreadsheets. By manipulating the underlying XML structure of office files, the framework replaces placeholders within pre-designed templates with dynamic data, enabling the programmatic production of reports, invoices, and complex data-driven documents. The project distinguishes itself through a modular extension architecture that allows developers to integrate custom logic for handling images, charts, and specialized formatting. It supports advanced

    JavaScriptdocxdocx-generationdocx-generator
    View on GitHub↗3,592
  • nissl-lab/npoinissl-lab avatar

    nissl-lab/npoi

    6,186View on GitHub↗

    NPOI is a pure .NET library for reading and writing Microsoft Office files in both legacy binary (.xls) and modern OpenXML (.xlsx, .docx) formats, operating entirely without requiring Microsoft Office or COM interop. It runs on Windows and Linux under .NET Standard and .NET Framework runtimes, using only managed code to parse and generate Office documents. The library provides comprehensive spreadsheet capabilities, including creating, editing, and reading Excel workbooks in both .xls and .xlsx formats, with support for cell formatting, styles, and formulas. It includes a streaming row-by-row

    C#biffdotnetcoreexcel
    View on GitHub↗6,186
  • symfony/dom-crawlersymfony avatar

    symfony/dom-crawler

    4,043View on GitHub↗

    This project is an HTML and XML DOM parser designed for loading and navigating the structure of web documents to extract specific data points. It functions as a web scraping utility that provides a system for locating precise elements using a CSS and XPath selector engine. The library includes a URI resolver that converts relative links found in documents into absolute addresses using a base URI. It provides a set of tools for retrieving text, attributes, and media sources from parsed content. The toolset covers document hierarchy traversal, selector-based filtering, and text extraction with

    PHP
    View on GitHub↗4,043
  • iofficeai/officecliiOfficeAI avatar

    iOfficeAI/OfficeCLI

    8,092View on GitHub↗

    OfficeCLI is a headless office suite and automation tool designed for programmatically reading, editing, and generating Microsoft Office documents. It functions as an OOXML manipulation library and a document templating engine, providing a standalone binary that allows for the management of Word, Excel, and PowerPoint files without requiring a local installation of office software. The project distinguishes itself by exposing document operations as tools for AI agents via a JSON-RPC server and the Model Context Protocol. It enables advanced customization through raw XML manipulation using XPa

    C#
    View on GitHub↗8,092
  • scinfu/swiftsoupscinfu avatar

    scinfu/SwiftSoup

    5,087View on GitHub↗

    SwiftSoup is a cross-platform HTML processing library for Swift that converts raw HTML or XML strings and files into a structured document object model. It provides the core infrastructure to parse web content into a traversable tree, enabling programmatic access to page elements across iOS, macOS, and Linux. The library features a CSS selector engine for data extraction and a whitelist-based sanitization system to remove unsafe tags and attributes from user-submitted content. It optimizes repetitive document queries through memoized query caching. The project covers DOM manipulation for upd

    Swift
    View on GitHub↗5,087
  • oblac/joddoblac avatar

    oblac/jodd

    4,059View on GitHub↗

    Jodd is a suite of lightweight Java extensions and standard library utilities designed for application configuration, database mapping, dependency injection, and HTML parsing. It provides a consolidated set of core tools to facilitate Java development with a zero-dependency core to ensure compatibility and a small footprint across environments. The project features a pragmatic dependency injection container for managing object lifecycles and a database mapper that uses SQL templates to map result sets directly to Java objects. It includes a specialized configuration manager supporting profile

    Javaaopdatabasehtml-parser
    View on GitHub↗4,059
  • leethomason/tinyxml2leethomason avatar

    leethomason/tinyxml2

    5,771View on GitHub↗

    TinyXML-2 is a lightweight C++ library for parsing, manipulating, and generating XML documents. It functions as a UTF-8 XML processor that represents data through a hierarchical Document Object Model. The library provides tools for both DOM parsing and direct document generation via data streams. It includes capabilities for navigating the XML tree to locate specific elements, modifying attributes and content, and resolving character entities and Unicode numeric references into UTF-8 text. The processor includes syntax validation and diagnostic utilities that track line-number metadata for e

    C++
    View on GitHub↗5,771
  • gosub-io/gosub-enginegosub-io avatar

    gosub-io/gosub-engine

    3,673View on GitHub↗

    Gosub-engine is an HTML5 browser engine and web rendering pipeline that parses HTML5 and CSS3 to compute layout and render web content to pixels. It functions as a JavaScript runtime environment with a virtual machine and event loop for handling dynamic logic and asynchronous tasks. The system also includes a web storage manager for persisting cookies, local storage, and session storage. The project features a headless browser renderer capable of generating page images or extracting plain text without a visible window. It supports cross-platform graphics rendering through pluggable CPU and GP

    Rustbrowserhtml5rust
    View on GitHub↗3,673
  • rchipka/node-osmosisR

    rchipka/node-osmosis

    4,110View on GitHub↗

    This project is a Node.js web scraping framework designed to automate data extraction through a programmatic workflow of requests, parsing, and document interaction. It functions as a headless web crawler, an HTTP request manager, and a DOM parser and extractor. The framework distinguishes itself by combining a JavaScript execution engine to interact with dynamic content and a hybrid selection system that utilizes both CSS and XPath selectors. It includes specialized middleware for proxy rotation and cookie-jar session management to maintain authenticated states and manage automated traffic.

    JavaScript
    View on GitHub↗4,110
  • tmpvar/jsdomtmpvar avatar

    tmpvar/jsdom

    21,591View on GitHub↗

    jsdom is a Node.js implementation of web standards that functions as a headless browser emulator. It provides a JavaScript execution environment and an HTML and XML parser to simulate a browser environment on the server side, implementing various web APIs and W3C standards. The project distinguishes itself by providing a sandboxed runtime for executing scripts embedded in HTML or external files. It includes specialized polyfills for the Canvas API and manages session state through HTTP cookie management. Its broader capabilities cover network interaction via request interception and resource

    JavaScript
    View on GitHub↗21,591
  • phpoffice/phpexcelPHPOffice avatar

    PHPOffice/PHPExcel

    11,379View on GitHub↗

    PHPExcel is a PHP spreadsheet library used for programmatically reading and writing spreadsheet files in various formats. It utilizes an in-memory spreadsheet model that maps spreadsheet structures to a hierarchy of objects for programmatic manipulation. The library functions as an Office Open XML processor for generating and manipulating XLSX documents and serves as a reader for extracting data and structure from legacy binary XLS files. It also includes tools for CSV data integration and importing. The project provides capabilities for automated report generation and spreadsheet data extra

    PHP
    View on GitHub↗11,379
  • puerkitobio/goqueryPuerkitoBio avatar

    PuerkitoBio/goquery

    14,958View on GitHub↗

    goquery is a Go HTML parsing library and CSS selector engine used to isolate and retrieve specific text or attributes from HTML documents. It functions as an HTML DOM manipulator that converts raw HTML strings into a structured tree for programmatic navigation and search. The library provides a fluent interface for chaining selection and filtering operations and utilizes a wrapper-based abstraction to simplify data extraction and manipulation of nodes. It employs an iterator-based processing mechanism to apply operations to every node within a matched selection. Its primary capabilities cove

    Gogoqueryhtml-parsingjquery
    View on GitHub↗14,958
  • dolanmiu/docxdolanmiu avatar

    dolanmiu/docx

    5,814View on GitHub↗

    docx is a JavaScript and TypeScript library for the programmatic generation and manipulation of Word documents. It serves as an OOXML document generator, allowing developers to create formatted office files through code instead of manual editing. The library enables document automation across both Node.js and web browser environments. It supports client-side document export, allowing users to generate and download files directly in the browser without a backend server. Capabilities include the ability to define page layouts, margins, and orientation. Users can programmatically insert documen

    TypeScript
    View on GitHub↗5,814
  • 501351981/vue-office501351981 avatar

    501351981/vue-office

    5,618View on GitHub↗

    vue-office is an office document preview library and web-based document viewer designed to render Word, Excel, PowerPoint, and PDF files directly in a web browser. It provides a collection of reusable components that allow for the display of documents using network URLs, data buffers, or blob data without requiring external plugins. This rendering solution is built as a cross-framework document renderer, offering integration for Vue 2, Vue 3, and React. It enables client-side document display to avoid server-side conversion processes. The library handles document visualization through client

    JavaScriptdocxdocx-previewexcel
    View on GitHub↗5,618
  • onlyoffice/documentserverONLYOFFICE avatar

    ONLYOFFICE/DocumentServer

    6,633View on GitHub↗

    ONLYOFFICE DocumentServer is a self-hosted online office suite that provides browser-based document, spreadsheet, and presentation editing with real-time collaborative capabilities. It natively supports Office Open XML formats (.docx, .xlsx, .pptx) and can be deployed on Linux servers, either through Docker containerization or direct installation. The server includes a cooperative editing engine that coordinates simultaneous changes across multiple users using operational transformation, with a WebSocket synchronization layer for instant state propagation. Security is handled through JWT auth

    Shellcollaborationcollaborativedoc
    View on GitHub↗6,633
  • box/spoutbox avatar

    box/spout

    4,229View on GitHub↗

    Spout is a spreadsheet file processing library and multi-format generator designed for reading and writing CSV, XLSX, and ODS files. It functions as a stream-based parser that processes large spreadsheet files incrementally to avoid loading entire documents into memory. The library provides capabilities for programmatic spreadsheet generation and data extraction. It supports custom content styling, allowing for the application of fonts, backgrounds, borders, and number formats to individual cells or rows. Beyond basic file input and output, the project covers workbook manipulation through se

    PHPcsvfastmemory-efficient
    View on GitHub↗4,229
  • joshclose/csvhelperJoshClose avatar

    JoshClose/CsvHelper

    5,202View on GitHub↗

    CsvHelper is a library for reading and writing comma-separated value files by mapping data to custom class objects. It functions as a parsing library and data mapper that converts flat-file text into structured data objects and serializes internal data sets back into standard CSV files. The project emphasizes memory efficiency through a parser that optimizes resource consumption. It utilizes field value caching and an interned string cache to store repetitive values, which reduces memory overhead when processing large datasets. The library provides a configuration-driven parsing engine that

    C#hacktoberfest
    View on GitHub↗5,202
  • alibaba/easyexcelalibaba avatar

    alibaba/easyexcel

    33,703View on GitHub↗

    EasyExcel is a Java processing library designed for reading and writing XLS, XLSX, and CSV files. It functions as a memory-efficient spreadsheet parser, an object-relational mapper that binds spreadsheet columns to Java class fields, and a stream-based exporter for handling high-volume data. The library distinguishes itself through a streaming model that processes large files row-by-row via listeners to prevent heap memory overflow. It also operates as a template engine, allowing the population of predefined spreadsheet files with dynamic data while preserving original layouts and styles. Br

    Javaexceljavajxl
    View on GitHub↗33,703
  • leonidas-from-xiv/node-xml2jsLeonidas-from-XIV avatar

    Leonidas-from-XIV/node-xml2js

    4,966View on GitHub↗

    This project is a Node.js library for bidirectional conversion between XML strings and JavaScript objects. It functions as an XML parser that transforms XML content into structured data and an XML serializer that generates formatted strings from JavaScript data objects. The toolkit includes a data transformer that applies custom processing functions to tags and attributes during the conversion process. It manages XML namespaces and supports the definition of custom root elements to maintain document structure during generation. The system handles XML data parsing, string generation, and name

    CoffeeScript
    View on GitHub↗4,966
  • citation-style-language/stylescitation-style-language avatar

    citation-style-language/styles

    3,838View on GitHub↗

    This project is a centralized repository of XML definitions used to automate the formatting of bibliographic citations and references for scholarly publications. It functions as a declarative citation framework that maps bibliographic metadata to visual output using a schema-driven system rather than procedural code. The library provides a comprehensive collection of standardized formatting rules and locale files used to render academic citations according to specific journal or publisher requirements. It includes a bibliographic localization framework that adapts dates, punctuation, and term

    Rubybibliographycitation-style-languagecitation-styles
    View on GitHub↗3,838
  • svgkit/svgkitSVGKit avatar

    SVGKit/SVGKit

    4,577View on GitHub↗

    SVGKit is a graphics framework for the iOS and macOS ecosystems designed for rendering high-performance scalable vector graphics. It functions as a library that utilizes native hardware acceleration to display and interact with vector graphics on Apple platforms. The project provides a programmatic interface for editing vector elements and writing updated files back to disk. It also includes tools to convert vector graphics into rasterized bitmap image formats for use in standard image views. The framework handles the translation of XML-based documents into a hierarchy of hardware-accelerate

    Objective-C
    View on GitHub↗4,577
  • goplus/gopgoplus avatar

    goplus/gop

    9,439View on GitHub↗

    Gop is a general purpose programming language and cross-language compiler designed to unify assets and libraries from multiple programming ecosystems into a single shared environment. It translates high-level source code into executable binaries using specialized backends tailored for different target environments. The project features a system for natural language programming, transforming human-readable instructions written in plain English into executable code. It also functions as a cross-language tool that imports and integrates external libraries and assets from different language ecosy

    Go
    View on GitHub↗9,439