| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
unioffice is a library for creation of Office Open XML documents (.docx, .xlsx and .pptx). Its goal is to be the most compatible and highest performance Go library for creation and editing of docx/xlsx/pptx files.
There has been a great deal of interest in performance numbers for spreadsheet creation/reading lately, so here are unioffice numbers for this benchmark which creates a sheet with 30k rows, each with 100 columns.
creating 30000 rows * 100 cells took 3.92506863s saving took 89ns reading took 9.522383048s
Creation is fairly fast, saving is very quick due to no reflection usage, and reading is a bit slower. The downside is that the binary is large (33MB) as it contains generated structs, serialization and deserialization code for all of DOCX/XLSX/PPTX.
go get github.com/unidoc/unioffice/v2
This software package (unioffice) is a commercial product and requires a license code to operate.
To Get a Metered License API Key in the Free Tier, sign up on https://cloud.unidoc.io
The OOXML specification is large and creating a friendly API to cover the entire specification is a very time consuming endeavor. This library attempts to provide an easy to use API for common use cases in creating OOXML documents while allowing users to fall back to raw document manipulation should the library's API not cover a specific use case.
The raw XML based types reside in the schema/ directory. These types are accessible from the wrapper types via a X() method that returns the raw type.
For example, the library currently doesn't have an API for setting a document background color. However it's easy to do manually via editing the CT_Background element of the document.
doc := document.New()
doc.X().Background = wordprocessingml.NewCT_Background()
doc.X().Background.ColorAttr = &wordprocessingml.ST_HexColor{}
doc.X().Background.ColorAttr.ST_HexColorRGB = color.RGB(50, 50, 50).AsRGBString()
If you are interested in contributing, please contact us.
The bash script file run_test.sh could be used to run test and update the test result (if required). This script could receive the following parameter:
To run the script in dockerized environment, use the provided Makefile such as:
make docker-testor
make docker-update-testdataOfficially we support three latest Go versions.
Please email us at support@unidoc.io for any queries.
If you have any specific tasks that need to be done, we offer consulting in certain cases. Please contact us with a brief summary of what you need and we will get back to you with a quote, if appropriate.
The use of this software package is governed by the end-user license agreement (EULA) available at: https://unidoc.io/eula/
| Back | FazBrowse Home | New Git URL |