Skip to content
Go (golang) library for reading and writing XLSX files.
Go Shell
Branch: master
Clone or download

Latest commit

tealeg Merge pull request #565 from ronklein/add_strike_style
Add support for read/write strike style
Latest commit d2b2b0d May 16, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Add testing to Go action Mar 25, 2020
testdocs Support sheets without worksheet relationship file Apr 26, 2020
.gitignore Merge branch 'hyperlinks' of github.com:elimity-com/xlsx into elimity… Oct 30, 2019
AUTHORS.txt Added an AUTHORS.txt file. Apr 1, 2016
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Aug 22, 2017
LICENSE Include Paul Smiths' copyright May 14, 2020
README.org Update Readme to reflect v3.0.0 Apr 27, 2020
cell.go Remove stream file / stream file builder Apr 27, 2020
cell_test.go Don't emit xlsx elements from structs tagged `-` Apr 28, 2020
cellstore.go Add missing files Mar 8, 2020
col.go Avoid emiting invalid zero-value structs in XML Apr 27, 2020
col_test.go Avoid emiting invalid zero-value structs in XML Apr 27, 2020
compatibility_test.go Support disk backed storage of uncompressed spreadsheet data. Mar 8, 2020
data_validation.go Disassociate CellMetadata, StreamStyle and DefaultCellType from Col Oct 10, 2019
data_validation_test.go Avoid emiting invalid zero-value structs in XML Apr 27, 2020
date.go gofmt Oct 10, 2019
date_test.go Handle dates in further than time.Duration Jun 26, 2018
diskv.go Font sz should be a float Apr 26, 2020
diskv_test.go Fix failing tests Apr 21, 2020
doc.go Make a minor update to the docs Oct 31, 2014
example_read_test.go Remove else branch in example_read_test when code panic Mar 2, 2018
file.go Remove stream file / stream file builder Apr 27, 2020
file_test.go Remove stream file / stream file builder Apr 27, 2020
format_code.go Merge pull request #532 from kzmi/feature/richtext Mar 27, 2020
format_code_test.go Expand range of supported time format chars Mar 26, 2020
fuzz.go Fix fuzz again. Mar 9, 2020
fuzzit.sh Only fail Fuzzit on missing API key if this isn't a pull request Nov 4, 2019
fuzzy_test.go gofmt -s -w . Mar 9, 2016
go.mod Bump to v3 Apr 27, 2020
go.sum Make MarshallParts use xmlwriter Apr 4, 2020
hsl.go Initial support for themes Mar 15, 2015
lib.go simplify ColIndexToLetters() May 12, 2020
lib_test.go simplify ColIndexToLetters() May 12, 2020
memory.go Add missing files Mar 8, 2020
memory_test.go Fix failing tests Apr 21, 2020
read.go Support disk backed storage of uncompressed spreadsheet data. Mar 8, 2020
read_test.go Support disk backed storage of uncompressed spreadsheet data. Mar 8, 2020
reftable.go add support of rich text Mar 24, 2020
reftable_test.go add support of rich text Mar 24, 2020
richtext.go add support of rich text Mar 24, 2020
richtext_test.go add support of rich text Mar 24, 2020
row.go Fix up tests Apr 26, 2020
row_test.go Fix up tests Apr 26, 2020
sheet.go Remove stream file / stream file builder Apr 27, 2020
sheet_test.go Avoid emiting invalid zero-value structs in XML Apr 27, 2020
style.go Add support for read/write strike style May 13, 2020
style_test.go Add support for read/write strike style May 13, 2020
templates.go Remove font warning from Apple Numbers Apr 3, 2019
testutil.go Add missing files Mar 8, 2020
theme.go gofmt Apr 18, 2015
theme_test.go Initial support for themes Mar 15, 2015
utility.go Avoid emiting invalid zero-value structs in XML Apr 27, 2020
write.go gofmt Oct 10, 2019
write_test.go Support disk backed storage of uncompressed spreadsheet data. Mar 8, 2020
xmlContentTypes.go add theme1.xml ref to ContentTypes Feb 3, 2015
xmlContentTypes_test.go add theme1.xml ref to ContentTypes Feb 3, 2015
xmlSharedStrings.go add support of rich text Mar 24, 2020
xmlSharedStrings_test.go add support of rich text Mar 24, 2020
xmlStyle.go Add support for read/write strike style May 13, 2020
xmlStyle_test.go Add support for read/write strike style May 13, 2020
xmlTheme.go Initial support for themes Mar 15, 2015
xmlWorkbook.go Fix failing tests Apr 21, 2020
xmlWorkbook_test.go added DefinedNames to the file struct by looping over defined names i… Nov 29, 2015
xmlWorksheet.go Don't emit xlsx elements from structs tagged `-` Apr 28, 2020
xmlWorksheet_test.go Make MarshallParts use xmlwriter Apr 4, 2020

README.org

XLSX

https://img.shields.io/travis/tealeg/xlsx/master.svg?style=flat-square https://codecov.io/gh/tealeg/xlsx/branch/master/graph/badge.svg https://godoc.org/github.com/tealeg/xlsx?status.svg 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.

Different versions of this project

Prior to v1.0.0

You don’t want these versions ;-)

It’s hard to remember exactly, but work on this library started within a month of the first public announcement of Go, now more than a decade ago. It was essentially a quick hack to get data out of XLSX files at my workplace. Nobody but me relied on it, so it was fine to use this brand new language for this task. Somewhat later I decided to share the code, and I know it was well established as an open-source project by the time I left that job in late 2011.

Although I did do some “release” tags, versioning in Go in the early days relied on tagging your code with the name of the Go release (i.e. go1.2) and then `go get` would fetch that tag, if it existed, and if not, it’d grab the master branch.

Version 1.x.x

Version 1.0.0 was tagged in 2017 to support vendoring tools.

As of October 8th, 2019, I’ve branched off v1.x.x maintenance work from master. The master branch now tracks v2.x.x.

If you have existing code, can live with the issues in the 1.x.x codebase, and don’t want to update your code to use a later version, then you can stick to these releases. I mostly won’t be touching this code, but if something really important comes up, let me know.

Version 2.x.x

Version 2.0.0 introduced breaking changes in the API.

The scope of these changes included the way `Col` elements and `DataValidation` works, as these aspects have been built around incorrect models of the underlying XLSX format.

See the https://github.com/tealeg/xlsx/milestone/5 for details.

Version 2.0.1 was tagged purely because 2.0.0 wasn’t handled correctly with regards to how go modules work. It isn’t possible to use 2.0.0 from a Go Modules based project.

Version 3.x.x

Version 3.0.0 introduces some more breaking changes in the API. All methods that can return an `xlsx.File` struct now accept zero, one or many `xlsx.FileOption` functions as their final arguments. These can be used to modify the behaviour of the resultant struct - in particular they replace the `…WithRowLimit` variants of those methods with the result of calling `xlsx.RowLimit` and they add the ability to define a custom backing store for the spreadsheet data to be held in whilst processing.

StreamFileBuilder has been dropped from this version of the library as it has become difficult to maintain.

Full API docs

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

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

You can’t perform that action at this time.