You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
兔子 402ee25ef1 update tools 1 year ago
..
.gitignore update tools 1 year ago
.travis.yml update tools 1 year ago
AUTHORS.txt update tools 1 year ago
CODE_OF_CONDUCT.md update tools 1 year ago
LICENSE update tools 1 year ago
README.org update tools 1 year ago
cell.go update tools 1 year ago
col.go update tools 1 year ago
data_validation.go update tools 1 year ago
date.go update tools 1 year ago
doc.go update tools 1 year ago
file.go update tools 1 year ago
format_code.go update tools 1 year ago
hsl.go update tools 1 year ago
lib.go update tools 1 year ago
read.go update tools 1 year ago
reftable.go update tools 1 year ago
row.go update tools 1 year ago
sheet.go update tools 1 year ago
stream_cell.go update tools 1 year ago
stream_file.go update tools 1 year ago
stream_file_builder.go update tools 1 year ago
stream_style.go update tools 1 year ago
style.go update tools 1 year ago
templates.go update tools 1 year ago
theme.go update tools 1 year ago
write.go update tools 1 year ago
xmlContentTypes.go update tools 1 year ago
xmlSharedStrings.go update tools 1 year ago
xmlStyle.go update tools 1 year ago
xmlTheme.go update tools 1 year ago
xmlWorkbook.go update tools 1 year ago
xmlWorksheet.go update tools 1 year ago

README.org

XLSX

https://img.shields.io/travis/tealeg/xlsx/master.svg?style=flat-square">https://img.shields.io/travis/tealeg/xlsx/master.svg?style=flat-square <img src=" title="https://codecov.io/gh/tealeg/xlsx/branch/master/graph/badge.svg" /> <img src=" title="https://godoc.org/github.com/tealeg/xlsx?status.svg" /> <img src=" title="https://img.shields.io/badge/license-bsd-orange.svg" />

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