README.md 3.1 KB
Newer Older
xurime's avatar
xurime 已提交
1 2
![Excelize](./excelize.png "Excelize")

xurime's avatar
xurime 已提交
3
# Excelize
xurime's avatar
xurime 已提交
4

xurime's avatar
xurime 已提交
5 6
[![Build Status](https://travis-ci.org/Luxurioust/excelize.svg?branch=master)](https://travis-ci.org/Luxurioust/excelize)
[![Code Coverage](https://codecov.io/gh/Luxurioust/excelize/branch/master/graph/badge.svg)](https://codecov.io/gh/Luxurioust/excelize)
7
[![Go Report Card](https://goreportcard.com/badge/github.com/Luxurioust/excelize)](https://goreportcard.com/report/github.com/Luxurioust/excelize)
xurime's avatar
xurime 已提交
8 9 10
[![GoDoc](https://godoc.org/github.com/Luxurioust/excelize?status.svg)](https://godoc.org/github.com/Luxurioust/excelize)
[![Licenses](https://img.shields.io/badge/license-bsd-orange.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![Join the chat at https://gitter.im/xuri-excelize/Lobby](https://img.shields.io/badge/GITTER-join%20chat-green.svg)](https://gitter.im/xuri-excelize/Lobby)
xurime's avatar
xurime 已提交
11

xurime's avatar
xurime 已提交
12
## Introduction
xurime's avatar
xurime 已提交
13

14
Excelize is a library written in pure Golang and providing a set of functions that allow you to write to and read from XLSX files. Support reads and writes XLSX file generated by Office Excel 2007 and later. Support save file without losing original charts of XLSX. The full API docs can be seen using go's built-in documentation tool, or online at [godoc.org](https://godoc.org/github.com/Luxurioust/excelize).
xurime's avatar
xurime 已提交
15

xurime's avatar
xurime 已提交
16
## Basic Usage
xurime's avatar
xurime 已提交
17

xurime's avatar
xurime 已提交
18
### Installation
xurime's avatar
xurime 已提交
19

A
Aldi Priya Perdana 已提交
20
```go
xurime's avatar
xurime 已提交
21
go get github.com/Luxurioust/excelize
xurime's avatar
xurime 已提交
22 23
```

xurime's avatar
xurime 已提交
24
### Create XLSX files
xurime's avatar
xurime 已提交
25 26 27

Here is a minimal example usage that will create XLSX file.

A
Aldi Priya Perdana 已提交
28
```go
xurime's avatar
xurime 已提交
29 30 31 32
package main

import (
    "fmt"
xurime's avatar
xurime 已提交
33
    "github.com/Luxurioust/excelize"
xurime's avatar
xurime 已提交
34 35 36
)

func main() {
37 38 39 40
    xlsx, err := excelize.CreateFile()
    if err != nil {
        fmt.Println(err)
    }
41 42 43 44
    xlsx.NewSheet(2, "Sheet2")
    xlsx.NewSheet(3, "Sheet3")
    xlsx.SetCellInt("Sheet2", "A23", 10)
    xlsx.SetCellStr("Sheet3", "B20", "Hello")
45
    err = xlsx.WriteTo("/home/Workbook.xlsx")
xurime's avatar
xurime 已提交
46 47 48 49 50 51
    if err != nil {
        fmt.Println(err)
    }
}
```

xurime's avatar
xurime 已提交
52
### Writing XLSX files
xurime's avatar
xurime 已提交
53 54 55

The following constitutes the bare minimum required to write an XLSX document.

A
Aldi Priya Perdana 已提交
56
```go
xurime's avatar
xurime 已提交
57 58 59 60
package main

import (
    "fmt"
xurime's avatar
xurime 已提交
61
    "github.com/Luxurioust/excelize"
xurime's avatar
xurime 已提交
62 63 64
)

func main() {
65 66 67 68
    xlsx, err := excelize.OpenFile("/home/Workbook.xlsx")
    if err != nil {
        fmt.Println(err)
    }
69 70 71 72 73 74
    xlsx.SetCellInt("Sheet2", "B2", 100)
    xlsx.SetCellStr("Sheet2", "C11", "Hello")
    xlsx.NewSheet(3, "TestSheet")
    xlsx.SetCellInt("Sheet3", "A23", 10)
    xlsx.SetCellStr("Sheet3", "b230", "World")
    xlsx.SetActiveSheet(2)
75
    err = xlsx.Save()
xurime's avatar
xurime 已提交
76 77 78
    if err != nil {
        fmt.Println(err)
    }
79 80 81 82 83
}
```

### Reading XLSX files

A
Aldi Priya Perdana 已提交
84
```go
85 86 87 88 89 90 91 92
package main

import (
    "fmt"
    "github.com/Luxurioust/excelize"
)

func main() {
93 94 95 96
    xlsx, err := excelize.OpenFile("/home/Workbook.xlsx")
    if err != nil {
        fmt.Println(err)
    }
97
    cell := xlsx.GetCellValue("Sheet2", "D11")
98
    fmt.Println(cell)
xurime's avatar
xurime 已提交
99 100 101
}
```

xurime's avatar
xurime 已提交
102
## Contributing
xurime's avatar
xurime 已提交
103 104 105

Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.

xurime's avatar
xurime 已提交
106
## Credits
107 108 109

Some struct of XML originally by [tealeg/xlsx](https://github.com/tealeg/xlsx).

xurime's avatar
xurime 已提交
110
## Licenses
xurime's avatar
xurime 已提交
111

xurime's avatar
xurime 已提交
112
This program is under the terms of the BSD 3-Clause License. See [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause).