Skip to content
forked from unidoc/unioffice

Pure go library for creating Office Open/OOXML/ECMA-376 documents (.docx, .xlsx, .pptx)

License

AGPL-3.0 and 2 other licenses found

Licenses found

AGPL-3.0
LICENSE
Unknown
LICENSE.commercial
Unknown
license.go
Notifications You must be signed in to change notification settings

IvanoffDan/gooxml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gooxml is a library for creation of Office Open XML documents (.docx, .xlsx and .pptx).

Build Status GitHub (pre-)release License: AGPL v3 GoDoc Go Report Card

https://baliance.com/gooxml/

Status

  • Documents (docx) work well, and there are no known issues.
  • Spreadsheets (xlsx) support is very new and the API may change.
  • PowerPoint (pptx) is unsupported at the moment, the XML types exist and some prototype code is checked in but it will be reworked once docx/xlsx are 'finished'.

Installation

go get baliance.com/gooxml/
go build -i baliance.com/gooxml/...

Document Examples

Raw Types

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.

dox := 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()

Contribution guidelines

CLA assistant

All contributors are must sign a contributor license agreement before their code will be reviewed and merged.

Licensing

This library is offered under a dual license. It is freely available for use under the terms of AGPLv3. If you would like to use this library for a closed source project, please contact [email protected].

There are no differences in functionality between the open source and commercial versions. You are encouraged to use the open source version to evaluate the library before purchasing a commercial license.

Consulting

Baliance also offers consulting services related to enhancing the gooxml library on a case by case basis. Please contact [email protected] if interested.

About

Pure go library for creating Office Open/OOXML/ECMA-376 documents (.docx, .xlsx, .pptx)

Resources

License

AGPL-3.0 and 2 other licenses found

Licenses found

AGPL-3.0
LICENSE
Unknown
LICENSE.commercial
Unknown
license.go

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.9%
  • Other 0.1%