選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
xuri 821a5d8672
AddPivotTable API changed: new structure PivotTableField to hold pivot table fields for better scalability
1日前
.github/ISSUE_TEMPLATE Delete ISSUE_TEMPLATE.md 1年前
test Compatibility improvement 5ヶ月前
.gitignore Fix #539 Fixed error opening excel file created in encoding d… (#540) 2ヶ月前
.travis.yml Resolve #570, flat columns for the column's operation 3週間前
CODE_OF_CONDUCT.md Fix #576, serialize by fields order on stream flush 2週間前
CONTRIBUTING.md Resolve #570, flat columns for the column's operation 3週間前
LICENSE Improve code coverage unit tests 2ヶ月前
PULL_REQUEST_TEMPLATE.md Create PULL_REQUEST_TEMPLATE.md 1年前
README.md Resolve #582, support to set date field subtotal and names for pivot table 6日前
README_zh.md Resolve #582, support to set date field subtotal and names for pivot table 6日前
SECURITY.md Create SECURITY.md 5ヶ月前
adjust.go Improve code coverage unit tests 2ヶ月前
adjust_test.go Improve code coverage unit tests 2ヶ月前
calcchain.go Improve code coverage unit tests 2ヶ月前
calcchain_test.go Improve code coverage unit tests 2ヶ月前
cell.go Improve code coverage unit tests 2ヶ月前
cell_test.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
chart.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
chart_test.go Resolve #455, init delete picture from spreadsheet support 1ヶ月前
codelingo.yaml CodeLingo setup 1年前
col.go Resolve #570, flat columns for the column's operation 3週間前
col_test.go Resolve #570, flat columns for the column's operation 3週間前
comment.go Improve code coverage unit tests 2ヶ月前
comment_test.go Improve code coverage unit tests 2ヶ月前
datavalidation.go Improve code coverage unit tests 2ヶ月前
datavalidation_test.go Improve code coverage unit tests 2ヶ月前
date.go Improve code coverage unit tests 2ヶ月前
date_test.go add unit tests to functions 10ヶ月前
docProps.go Improve code coverage unit tests 2ヶ月前
docProps_test.go Improve code coverage unit tests 2ヶ月前
drawing.go Resolve #455, init delete picture from spreadsheet support 1ヶ月前
errors.go Improve code coverage unit tests 2ヶ月前
errors_test.go Huge refactorig for consistent col/row numbering (#356) 11ヶ月前
excelize.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
excelize.svg Combine functions: 5ヶ月前
excelize_test.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
file.go Improve code coverage unit tests 2ヶ月前
file_test.go optimize code and comments: use println errors instead of panic 1ヶ月前
go.mod Fix #539 Fixed error opening excel file created in encoding d… (#540) 2ヶ月前
go.sum Fix #539 Fixed error opening excel file created in encoding d… (#540) 2ヶ月前
hsl.go Comments style changed. 1年前
lib.go Improve code coverage unit tests 2ヶ月前
lib_test.go refactor: handler error instead of panic, 11ヶ月前
logo.png Typo fixed and godoc updated 11ヶ月前
merge.go Resolve #570, flat columns for the column's operation 3週間前
merge_test.go optimize code and comments: use println errors instead of panic 1ヶ月前
picture.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
picture_test.go Resolve #455, init delete picture from spreadsheet support 1ヶ月前
pivotTable.go AddPivotTable API changed: new structure PivotTableField to hold pivot table fields for better scalability 1日前
pivotTable_test.go AddPivotTable API changed: new structure PivotTableField to hold pivot table fields for better scalability 1日前
rows.go Fix #586, duplicate row with merged cells 3日前
rows_test.go AddPivotTable API changed: new structure PivotTableField to hold pivot table fields for better scalability 1日前
shape.go Improve code coverage unit tests 2ヶ月前
shape_test.go Improve code coverage unit tests 2ヶ月前
sheet.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
sheet_test.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
sheetpr.go Improve code coverage unit tests 2ヶ月前
sheetpr_test.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
sheetview.go Improve code coverage unit tests 2ヶ月前
sheetview_test.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
sparkline.go Improve code coverage unit tests 2ヶ月前
sparkline_test.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
stream.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
stream_test.go Fix #576, serialize by fields order on stream flush 2週間前
styles.go Resolve #580, revert commit https://github.com/360EntSecGroup-Skylar/excelize/commit/5ca7231ed408ac264f509ff52b5d28ff4fbda757 1週間前
styles_test.go Improve code coverage unit tests 2ヶ月前
table.go Resolve #570, flat columns for the column's operation 3週間前
table_test.go Improve code coverage unit tests 2ヶ月前
templates.go Improve code coverage unit tests 2ヶ月前
vmlDrawing.go Improve code coverage unit tests 2ヶ月前
xmlApp.go Improve code coverage unit tests 2ヶ月前
xmlCalcChain.go Improve code coverage unit tests 2ヶ月前
xmlChart.go Make DeleteChart delete multiple charts located on the same cell 1ヶ月前
xmlComments.go Improve code coverage unit tests 2ヶ月前
xmlContentTypes.go Improve code coverage unit tests 2ヶ月前
xmlCore.go Improve code coverage unit tests 2ヶ月前
xmlDecodeDrawing.go Improve code coverage unit tests 2ヶ月前
xmlDrawing.go Improve code coverage unit tests 2ヶ月前
xmlPivotCache.go Optimize code of Getting/Setting Page Margins 4ヶ月前
xmlPivotTable.go Improve code coverage unit tests 2ヶ月前
xmlSharedStrings.go Improve code coverage unit tests 2ヶ月前
xmlStyles.go Improve code coverage unit tests 2ヶ月前
xmlTable.go Improve code coverage unit tests 2ヶ月前
xmlTheme.go Improve code coverage unit tests 2ヶ月前
xmlWorkbook.go Improve code coverage unit tests 2ヶ月前
xmlWorksheet.go Fix #578, escape character in the formula 1週間前

README.md

Excelize logo

Build Status Code Coverage Go Report Card go.dev Licenses Donate

Excelize

Introduction

Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLSX files. Supports reading and writing XLSX file generated by Microsoft Excel™ 2007 and later. Supports saving a file without losing original charts of XLSX. This library needs Go version 1.10 or later. The full API docs can be seen using go's built-in documentation tool, or online at godoc.org and docs reference.

Basic Usage

Installation

go get github.com/360EntSecGroup-Skylar/excelize

Create XLSX file

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

package main

import (
    "fmt"

    "github.com/360EntSecGroup-Skylar/excelize"
)

func main() {
    f := excelize.NewFile()
    // Create a new sheet.
    index := f.NewSheet("Sheet2")
    // Set value of a cell.
    f.SetCellValue("Sheet2", "A2", "Hello world.")
    f.SetCellValue("Sheet1", "B2", 100)
    // Set active sheet of the workbook.
    f.SetActiveSheet(index)
    // Save xlsx file by the given path.
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Reading XLSX file

The following constitutes the bare to read a XLSX document.

package main

import (
    "fmt"

    "github.com/360EntSecGroup-Skylar/excelize"
)

func main() {
    f, err := excelize.OpenFile("Book1.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    // Get value from cell by given worksheet name and axis.
    cell, err := f.GetCellValue("Sheet1", "B2")
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(cell)
    // Get all the rows in the Sheet1.
    rows, err := f.GetRows("Sheet1")
    for _, row := range rows {
        for _, colCell := range row {
            fmt.Print(colCell, "\t")
        }
        fmt.Println()
    }
}

Add chart to XLSX file

With Excelize chart generation and management is as easy as a few lines of code. You can build charts based off data in your worksheet or generate charts without any data in your worksheet at all.

Excelize

package main

import (
    "fmt"

    "github.com/360EntSecGroup-Skylar/excelize"
)

func main() {
    categories := map[string]string{"A2": "Small", "A3": "Normal", "A4": "Large", "B1": "Apple", "C1": "Orange", "D1": "Pear"}
    values := map[string]int{"B2": 2, "C2": 3, "D2": 3, "B3": 5, "C3": 2, "D3": 4, "B4": 6, "C4": 7, "D4": 8}
    f := excelize.NewFile()
    for k, v := range categories {
        f.SetCellValue("Sheet1", k, v)
    }
    for k, v := range values {
        f.SetCellValue("Sheet1", k, v)
    }
    if err := f.AddChart("Sheet1", "E1", `{"type":"col3DClustered","series":[{"name":"Sheet1!$A$2","categories":"Sheet1!$B$1:$D$1","values":"Sheet1!$B$2:$D$2"},{"name":"Sheet1!$A$3","categories":"Sheet1!$B$1:$D$1","values":"Sheet1!$B$3:$D$3"},{"name":"Sheet1!$A$4","categories":"Sheet1!$B$1:$D$1","values":"Sheet1!$B$4:$D$4"}],"title":{"name":"Fruit 3D Clustered Column Chart"}}`); err != nil {
        fmt.Println(err)
        return
    }
    // Save xlsx file by the given path.
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Add picture to XLSX file

package main

import (
    "fmt"
    _ "image/gif"
    _ "image/jpeg"
    _ "image/png"

    "github.com/360EntSecGroup-Skylar/excelize"
)

func main() {
    f, err := excelize.OpenFile("Book1.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    // Insert a picture.
    if err := f.AddPicture("Sheet1", "A2", "image.png", ""); err != nil {
        fmt.Println(err)
    }
    // Insert a picture to worksheet with scaling.
    if err := f.AddPicture("Sheet1", "D2", "image.jpg", `{"x_scale": 0.5, "y_scale": 0.5}`); err != nil {
        fmt.Println(err)
    }
    // Insert a picture offset in the cell with printing support.
    if err := f.AddPicture("Sheet1", "H2", "image.gif", `{"x_offset": 15, "y_offset": 10, "print_obj": true, "lock_aspect_ratio": false, "locked": false}`); err != nil {
        fmt.Println(err)
    }
    // Save the xlsx file with the origin path.
    if err = f.Save(); err != nil {
        fmt.Println(err)
    }
}

Contributing

Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change. XML is compliant with part 1 of the 5th edition of the ECMA-376 Standard for Office Open XML.

Licenses

This program is under the terms of the BSD 3-Clause License. See https://opensource.org/licenses/BSD-3-Clause.

The Excel logo is a trademark of Microsoft Corporation. This artwork is an adaptation.

gopher.{ai,svg,png} was created by Takuya Ueda. Licensed under the Creative Commons 3.0 Attributions license.