Giter Site home page Giter Site logo

xlsx's Introduction

NOT ACTIVELY MAINTAINED

Thanks for your interest. I’m sorry but I am not able to actively maintain this library anymore, I haven’t been a user of this project since 2011, and whilst I’ve tried to keep up with it for most of the last 10 years, I simply don’t have the time anymore that it requires to be dedicated to this.

I do accept PRs and will issue releases from time to time, but I’m not investing time in coding on this myself.

If you’re starting from scratch, I strongly suggest that you consider using excelize or one of the other available XLSX libraries.

XLSX

https://github.com/tealeg/xlsx/actions/workflows/go.yml/badge.svg?branch=master https://codecov.io/gh/tealeg/xlsx/branch/master/graph/badge.svg https://pkg.go.dev/badge/github.com/tealeg/xlsx/v3.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.

Current status

Before using this library please read this: tealeg#663

Tutorial

If you’d like an introduction to this project try the new tutorial.

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 pkg.go.dev.

Contributing

You may continue to contribute pull requests, I will try to review them, but this project is nolonger actively maintained and you may have to wait a while. . 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

xlsx's People

Contributors

tealeg avatar ryho avatar rentiansheng avatar shawnmilo avatar blackss2 avatar sirwart avatar cowsmiles avatar dolmen avatar derlinkshaender avatar bronze1man avatar xstrom avatar ds0nt avatar mafredri avatar thieupham-wf avatar santsai avatar zhcy avatar ericlagergren avatar kzmi avatar nbys avatar tokyis avatar crahles avatar juan117 avatar heinoldewage avatar hackeryarn avatar presto78 avatar ninedraft avatar ivnivnch avatar mauserzjeh avatar shawnps avatar qvodsoldier avatar

Watchers

James Cloos avatar Rosen Lu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.