xormplus 14a3d243ad Get latest revision "github.com/tealeg/xlsx" 8 lat temu
..
AUTHORS.txt b896d33714 add vendor 9 lat temu
CODE_OF_CONDUCT.md e56fa43008 Get latest revision "github.com/tealeg/xlsx" 8 lat temu
LICENSE e56fa43008 Get latest revision "github.com/tealeg/xlsx" 8 lat temu
README.org 14a3d243ad Get latest revision "github.com/tealeg/xlsx" 8 lat temu
cell.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 8 lat temu
col.go b896d33714 add vendor 9 lat temu
date.go b896d33714 add vendor 9 lat temu
doc.go b896d33714 add vendor 9 lat temu
file.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 8 lat temu
hsl.go b896d33714 add vendor 9 lat temu
lib.go 14a3d243ad Get latest revision "github.com/tealeg/xlsx" 8 lat temu
read.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 8 lat temu
reftable.go b896d33714 add vendor 9 lat temu
row.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 8 lat temu
sheet.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 8 lat temu
style.go b896d33714 add vendor 9 lat temu
templates.go b896d33714 add vendor 9 lat temu
theme.go b896d33714 add vendor 9 lat temu
write.go b896d33714 add vendor 9 lat temu
xmlContentTypes.go b896d33714 add vendor 9 lat temu
xmlSharedStrings.go b896d33714 add vendor 9 lat temu
xmlStyle.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 8 lat temu
xmlTheme.go b896d33714 add vendor 9 lat temu
xmlWorkbook.go b896d33714 add vendor 9 lat temu
xmlWorksheet.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 8 lat temu

README.org

XLSX

https://img.shields.io/travis/tealeg/xlsx/master.svg?style=flat-square

Introduction

xlsx is a library to simplify reading and writing the XML format used by recent version of Microsoft Excel in Go programs.

The support for writing XLSX files is currently extremely minimal. It will expand slowly, but in the meantime patches are welcome!

Full API docs

The full API docs can be viewed using go's built in documentation tool, or online at godoc.org.

Basic Usage

Reading XLSX files

Here is a minimal example usage that will dump all cell data in a given XLSX file. A more complete example of this kind of functionality is contained in the XLSX2CSV program:


package main

import (
    "fmt"
    "github.com/tealeg/xlsx"
)

func main() {
    excelFileName := "/home/tealeg/foo.xlsx"
    xlFile, err := xlsx.OpenFile(excelFileName)
    if err != nil {
        ...
    }
    for _, sheet := range xlFile.Sheets {
        for _, row := range sheet.Rows {
            for _, cell := range row.Cells {
                text := cell.String()
                fmt.Printf("%s\n", text)
            }
        }
    }
}

Some additional information is available from the cell (for example, style information). For more details see the godoc output for this package.

Writing XLSX files

The following constitutes the bare minimum required to write an XLSX document.


package main

import (
    "fmt"
    "github.com/tealeg/xlsx"
)

func main() {
    var file *xlsx.File
    var sheet *xlsx.Sheet
    var row *xlsx.Row
    var cell *xlsx.Cell
    var err error

    file = xlsx.NewFile()
    sheet, err = file.AddSheet("Sheet1")
    if err != nil {
        fmt.Printf(err.Error())
    }
    row = sheet.AddRow()
    cell = row.AddCell()
    cell.Value = "I am a cell!"
    err = file.Save("MyXLSXFile.xlsx")
    if err != nil {
        fmt.Printf(err.Error())
    }
}

Contributing

We're extremely happy to review pull requests. Please be patient, maintaining XLSX doesn't pay anyone's salary (to my knowledge).

If you'd like to propose a change please ensure the following:

Eat a peach - Geoff