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 2 years ago
..
.gitignore update tools 2 years ago
.travis.yml update tools 2 years ago
AUTHORS.txt update tools 2 years ago
CODE_OF_CONDUCT.md update tools 2 years ago
LICENSE update tools 2 years ago
README.org update tools 2 years ago
cell.go update tools 2 years ago
col.go update tools 2 years ago
data_validation.go update tools 2 years ago
date.go update tools 2 years ago
doc.go update tools 2 years ago
file.go update tools 2 years ago
format_code.go update tools 2 years ago
hsl.go update tools 2 years ago
lib.go update tools 2 years ago
read.go update tools 2 years ago
reftable.go update tools 2 years ago
row.go update tools 2 years ago
sheet.go update tools 2 years ago
stream_cell.go update tools 2 years ago
stream_file.go update tools 2 years ago
stream_file_builder.go update tools 2 years ago
stream_style.go update tools 2 years ago
style.go update tools 2 years ago
templates.go update tools 2 years ago
theme.go update tools 2 years ago
write.go update tools 2 years ago
xmlContentTypes.go update tools 2 years ago
xmlSharedStrings.go update tools 2 years ago
xmlStyle.go update tools 2 years ago
xmlTheme.go update tools 2 years ago
xmlWorkbook.go update tools 2 years ago
xmlWorksheet.go update tools 2 years 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