xormplus 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
..
AUTHORS.txt b896d33714 add vendor 8 years ago
CODE_OF_CONDUCT.md e56fa43008 Get latest revision "github.com/tealeg/xlsx" 7 years ago
LICENSE e56fa43008 Get latest revision "github.com/tealeg/xlsx" 7 years ago
README.org 14a3d243ad Get latest revision "github.com/tealeg/xlsx" 7 years ago
cell.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
col.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
date.go b896d33714 add vendor 8 years ago
doc.go b896d33714 add vendor 8 years ago
file.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
format_code.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
hsl.go b896d33714 add vendor 8 years ago
lib.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
read.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 7 years ago
reftable.go b896d33714 add vendor 8 years ago
row.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 7 years ago
sheet.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
stream_file.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
stream_file_builder.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
style.go b896d33714 add vendor 8 years ago
templates.go b896d33714 add vendor 8 years ago
theme.go b896d33714 add vendor 8 years ago
write.go b896d33714 add vendor 8 years ago
xmlContentTypes.go b896d33714 add vendor 8 years ago
xmlSharedStrings.go b896d33714 add vendor 8 years ago
xmlStyle.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
xmlTheme.go b896d33714 add vendor 8 years ago
xmlWorkbook.go 955c21fb34 Get latest revision "github.com/tealeg/xlsx" 6 years ago
xmlWorksheet.go e56fa43008 Get latest revision "github.com/tealeg/xlsx" 7 years ago

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