A pure Go library for creating, editing, and processing Microsoft Office Open XML documents (DOCX, XLSX, PPTX).
UniOffice is a pure Go library for creating, editing, and processing Microsoft Office Open XML documents, including Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) files. It solves the problem of programmatically generating and manipulating Office documents in Go applications without relying on external tools or services.
Go developers who need to generate reports, spreadsheets, or presentations programmatically, such as those building document automation tools, data export features, or enterprise applications.
Developers choose UniOffice for its high performance, comprehensive feature set covering all major Office formats, and the ability to work directly with raw XML when needed, providing both convenience and flexibility.
Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks show fast creation and saving, with a 30k-row spreadsheet generated in under 4 seconds and saving taking only 89 nanoseconds.
Handles DOCX, XLSX, and PPTX with full features like formatting, images, tables, and charts, as listed in the status section.
Supports over 100 Excel functions and retrieves cell values as formatted by Excel, useful for accurate spreadsheet automation.
Allows document generation from existing templates and provides raw XML access for advanced customizations not covered by the high-level API.
Requires a paid UniDoc EULA license key for operation, adding cost and complexity compared to fully open-source alternatives.
The library binary is 33MB due to generated structs, which can bloat deployments and increase memory usage.
Some features, like setting document background colors, require manual XML manipulation, indicating gaps in the convenience layer.
unioffice is an open-source alternative to the following products:
Microsoft Office is a suite of productivity applications including Word, Excel, PowerPoint, and Outlook, used for document creation, data analysis, presentations, and email.
LibreOffice (for programmatic generation) refers to tools and libraries that enable automated creation and manipulation of LibreOffice documents through scripting and APIs.