goxlsxwriter icon indicating copy to clipboard operation
goxlsxwriter copied to clipboard

Golang bindings for libxlsxwriter for writing XLSX files

goxlsxwriter

Build Status Go Report Card Coverage Status

goxlsxwriter provides Go bindings for the libxlsxwriter C library.

Install

goxlsxwriter requires the libxslxwriter library to be installed. To build from source via Git:

$ git clone https://github.com/jmcnamara/libxlsxwriter.git
$ cd libxlsxwriter
$ make
$ make install

Visit http://libxlsxwriter.github.io/getting_started.html for more information on installing libxlsxwriter.

Sample Use

package main

import (
    "github.com/fterrag/goxlsxwriter"
)

func main() {
    workbook := goxlsxwriter.NewWorkbook("example.xlsx", nil)
    worksheet := goxlsxwriter.NewWorksheet(workbook, "Sheet 1")

    format := goxlsxwriter.NewFormat(workbook)

    format.SetFontName("Verdana")
    format.SetFontSize(8)
    format.SetFontColor(0x008000)

    worksheet.WriteString(0, 0, "Hello from A1!", format)
    worksheet.WriteString(4, 1, "This cell is B5", nil)

    options := &goxlsxwriter.ImageOptions{
        XScale: 0.5,
        YScale: 0.5,
    }
    worksheet.InsertImage(1, 3, "resources/gopher.png", options)

    workbook.Close()
}

Todo

  • [ ] Increase test coverage
  • [ ] Documentation
  • [ ] Expand libxlsxwriter API coverage

Contributing

  • Submit a PR (tests and documentation included)
  • Add or improve documentation
  • Report issues
  • Suggest new features or enhancements