Go 1.15 and later required, #65 fn: IMABS, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMEXP, IMLN and IMLOG10

This commit is contained in:
xuri 2021-04-04 15:29:43 +08:00
parent 89c262fc1d
commit f8f699a172
No known key found for this signature in database
GPG Key ID: BA5E5BB1C948EDF7
57 changed files with 328 additions and 61 deletions

View File

@ -4,10 +4,6 @@ install:
- go get -d -t -v ./... && go build -v ./... - go get -d -t -v ./... && go build -v ./...
go: go:
- 1.11.x
- 1.12.x
- 1.13.x
- 1.14.x
- 1.15.x - 1.15.x
- 1.16.x - 1.16.x

View File

@ -13,7 +13,7 @@
## Introduction ## Introduction
Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLSX / XLSM / XLTM files. Supports reading and writing spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports complex components by high compatibility, and provided streaming API for generating or reading data from a worksheet with huge amounts of data. 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 [go.dev](https://pkg.go.dev/github.com/360EntSecGroup-Skylar/excelize/v2?tab=doc) and [docs reference](https://xuri.me/excelize/). Excelize is a library written in pure Go providing a set of functions that allow you to write to and read from XLSX / XLSM / XLTM files. Supports reading and writing spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports complex components by high compatibility, and provided streaming API for generating or reading data from a worksheet with huge amounts of data. This library needs Go version 1.15 or later. The full API docs can be seen using go's built-in documentation tool, or online at [go.dev](https://pkg.go.dev/github.com/360EntSecGroup-Skylar/excelize/v2?tab=doc) and [docs reference](https://xuri.me/excelize/).
## Basic Usage ## Basic Usage

View File

@ -13,7 +13,7 @@
## 简介 ## 简介
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。使用本类库要求使用的 Go 语言为 1.10 或更高版本,完整的 API 使用文档请访问 [go.dev](https://pkg.go.dev/github.com/360EntSecGroup-Skylar/excelize/v2?tab=doc) 或查看 [参考文档](https://xuri.me/excelize/)。 Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。使用本类库要求使用的 Go 语言为 1.15 或更高版本,完整的 API 使用文档请访问 [go.dev](https://pkg.go.dev/github.com/360EntSecGroup-Skylar/excelize/v2?tab=doc) 或查看 [参考文档](https://xuri.me/excelize/)。
## 快速上手 ## 快速上手

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

206
calc.go
View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize
@ -17,6 +17,7 @@ import (
"errors" "errors"
"fmt" "fmt"
"math" "math"
"math/cmplx"
"math/rand" "math/rand"
"net/url" "net/url"
"reflect" "reflect"
@ -292,6 +293,15 @@ var tokenPriority = map[string]int{
// HLOOKUP // HLOOKUP
// IF // IF
// IFERROR // IFERROR
// IMABS
// IMCOS
// IMCOSH
// IMCOT
// IMCSC
// IMCSCH
// IMEXP
// IMLN
// IMLOG10
// INT // INT
// ISBLANK // ISBLANK
// ISERR // ISERR
@ -1475,8 +1485,38 @@ func (fn *formulaFuncs) COMPLEX(argsList *list.List) formulaArg {
return newErrorFormulaArg(formulaErrorVALUE, formulaErrorVALUE) return newErrorFormulaArg(formulaErrorVALUE, formulaErrorVALUE)
} }
} }
r := strings.NewReplacer("(", "", ")", "", "0+", "", "+0i", "", "0+0i", "0", "i", suffix) return newStringFormulaArg(cmplx2str(fmt.Sprint(complex(real.Number, i.Number)), suffix))
return newStringFormulaArg(r.Replace(fmt.Sprint(complex(real.Number, i.Number)))) }
// cmplx2str replace complex number string characters.
func cmplx2str(c, suffix string) string {
if c == "(0+0i)" || c == "(0-0i)" {
return "0"
}
c = strings.TrimPrefix(c, "(")
c = strings.TrimPrefix(c, "+0+")
c = strings.TrimPrefix(c, "-0+")
c = strings.TrimSuffix(c, ")")
c = strings.TrimPrefix(c, "0+")
if strings.HasPrefix(c, "0-") {
c = "-" + strings.TrimPrefix(c, "0-")
}
c = strings.TrimPrefix(c, "0+")
c = strings.TrimSuffix(c, "+0i")
c = strings.TrimSuffix(c, "-0i")
c = strings.NewReplacer("+1i", "i", "-1i", "-i").Replace(c)
c = strings.Replace(c, "i", suffix, -1)
return c
}
// str2cmplx convert complex number string characters.
func str2cmplx(c string) string {
c = strings.Replace(c, "j", "i", -1)
if c == "i" {
c = "1i"
}
c = strings.NewReplacer("+i", "+1i", "-i", "-1i").Replace(c)
return c
} }
// DEC2BIN function converts a decimal number into a Binary (Base 2) number. // DEC2BIN function converts a decimal number into a Binary (Base 2) number.
@ -1651,6 +1691,166 @@ func (fn *formulaFuncs) hex2dec(number string) formulaArg {
return newNumberFormulaArg(decimal) return newNumberFormulaArg(decimal)
} }
// IMABS function returns the absolute value (the modulus) of a complex
// number. The syntax of the function is:
//
// IMABS(inumber)
//
func (fn *formulaFuncs) IMABS(argsList *list.List) formulaArg {
if argsList.Len() != 1 {
return newErrorFormulaArg(formulaErrorVALUE, "IMABS requires 1 argument")
}
inumber, err := strconv.ParseComplex(strings.Replace(argsList.Front().Value.(formulaArg).Value(), "j", "i", -1), 128)
if err != nil {
return newErrorFormulaArg(formulaErrorNUM, err.Error())
}
return newNumberFormulaArg(cmplx.Abs(inumber))
}
// IMCOS function returns the cosine of a supplied complex number. The syntax
// of the function is:
//
// IMCOS(inumber)
//
func (fn *formulaFuncs) IMCOS(argsList *list.List) formulaArg {
if argsList.Len() != 1 {
return newErrorFormulaArg(formulaErrorVALUE, "IMCOS requires 1 argument")
}
inumber, err := strconv.ParseComplex(strings.Replace(argsList.Front().Value.(formulaArg).Value(), "j", "i", -1), 128)
if err != nil {
return newErrorFormulaArg(formulaErrorNUM, err.Error())
}
return newStringFormulaArg(cmplx2str(fmt.Sprint(cmplx.Cos(inumber)), "i"))
}
// IMCOSH function returns the hyperbolic cosine of a supplied complex number. The syntax
// of the function is:
//
// IMCOSH(inumber)
//
func (fn *formulaFuncs) IMCOSH(argsList *list.List) formulaArg {
if argsList.Len() != 1 {
return newErrorFormulaArg(formulaErrorVALUE, "IMCOSH requires 1 argument")
}
inumber, err := strconv.ParseComplex(str2cmplx(argsList.Front().Value.(formulaArg).Value()), 128)
if err != nil {
return newErrorFormulaArg(formulaErrorNUM, err.Error())
}
return newStringFormulaArg(cmplx2str(fmt.Sprint(cmplx.Cosh(inumber)), "i"))
}
// IMCOT function returns the cotangent of a supplied complex number. The syntax
// of the function is:
//
// IMCOT(inumber)
//
func (fn *formulaFuncs) IMCOT(argsList *list.List) formulaArg {
if argsList.Len() != 1 {
return newErrorFormulaArg(formulaErrorVALUE, "IMCOT requires 1 argument")
}
inumber, err := strconv.ParseComplex(str2cmplx(argsList.Front().Value.(formulaArg).Value()), 128)
if err != nil {
return newErrorFormulaArg(formulaErrorNUM, err.Error())
}
return newStringFormulaArg(cmplx2str(fmt.Sprint(cmplx.Cot(inumber)), "i"))
}
// IMCSC function returns the cosecant of a supplied complex number. The syntax
// of the function is:
//
// IMCSC(inumber)
//
func (fn *formulaFuncs) IMCSC(argsList *list.List) formulaArg {
if argsList.Len() != 1 {
return newErrorFormulaArg(formulaErrorVALUE, "IMCSC requires 1 argument")
}
inumber, err := strconv.ParseComplex(str2cmplx(argsList.Front().Value.(formulaArg).Value()), 128)
if err != nil {
return newErrorFormulaArg(formulaErrorNUM, err.Error())
}
num := 1 / cmplx.Sin(inumber)
if cmplx.IsInf(num) {
return newErrorFormulaArg(formulaErrorNUM, formulaErrorNUM)
}
return newStringFormulaArg(cmplx2str(fmt.Sprint(num), "i"))
}
// IMCSCH function returns the hyperbolic cosecant of a supplied complex
// number. The syntax of the function is:
//
// IMCSCH(inumber)
//
func (fn *formulaFuncs) IMCSCH(argsList *list.List) formulaArg {
if argsList.Len() != 1 {
return newErrorFormulaArg(formulaErrorVALUE, "IMCSCH requires 1 argument")
}
inumber, err := strconv.ParseComplex(str2cmplx(argsList.Front().Value.(formulaArg).Value()), 128)
if err != nil {
return newErrorFormulaArg(formulaErrorNUM, err.Error())
}
num := 1 / cmplx.Sinh(inumber)
if cmplx.IsInf(num) {
return newErrorFormulaArg(formulaErrorNUM, formulaErrorNUM)
}
return newStringFormulaArg(cmplx2str(fmt.Sprint(num), "i"))
}
// IMEXP function returns the exponential of a supplied complex number. The
// syntax of the function is:
//
// IMEXP(inumber)
//
func (fn *formulaFuncs) IMEXP(argsList *list.List) formulaArg {
if argsList.Len() != 1 {
return newErrorFormulaArg(formulaErrorVALUE, "IMEXP requires 1 argument")
}
inumber, err := strconv.ParseComplex(str2cmplx(argsList.Front().Value.(formulaArg).Value()), 128)
if err != nil {
return newErrorFormulaArg(formulaErrorNUM, err.Error())
}
return newStringFormulaArg(cmplx2str(fmt.Sprint(cmplx.Exp(inumber)), "i"))
}
// IMLN function returns the natural logarithm of a supplied complex number.
// The syntax of the function is:
//
// IMLN(inumber)
//
func (fn *formulaFuncs) IMLN(argsList *list.List) formulaArg {
if argsList.Len() != 1 {
return newErrorFormulaArg(formulaErrorVALUE, "IMLN requires 1 argument")
}
inumber, err := strconv.ParseComplex(str2cmplx(argsList.Front().Value.(formulaArg).Value()), 128)
if err != nil {
return newErrorFormulaArg(formulaErrorNUM, err.Error())
}
num := cmplx.Log(inumber)
if cmplx.IsInf(num) {
return newErrorFormulaArg(formulaErrorNUM, formulaErrorNUM)
}
return newStringFormulaArg(cmplx2str(fmt.Sprint(num), "i"))
}
// IMLOG10 function returns the common (base 10) logarithm of a supplied
// complex number. The syntax of the function is:
//
// IMLOG10(inumber)
//
func (fn *formulaFuncs) IMLOG10(argsList *list.List) formulaArg {
if argsList.Len() != 1 {
return newErrorFormulaArg(formulaErrorVALUE, "IMLOG10 requires 1 argument")
}
inumber, err := strconv.ParseComplex(str2cmplx(argsList.Front().Value.(formulaArg).Value()), 128)
if err != nil {
return newErrorFormulaArg(formulaErrorNUM, err.Error())
}
num := cmplx.Log10(inumber)
if cmplx.IsInf(num) {
return newErrorFormulaArg(formulaErrorNUM, formulaErrorNUM)
}
return newStringFormulaArg(cmplx2str(fmt.Sprint(num), "i"))
}
// OCT2BIN function converts an Octal (Base 8) number into a Binary (Base 2) // OCT2BIN function converts an Octal (Base 8) number into a Binary (Base 2)
// number. The syntax of the function is: // number. The syntax of the function is:
// //

View File

@ -90,6 +90,9 @@ func TestCalcCellValue(t *testing.T) {
"=COMPLEX(10,-5,\"i\")": "10-5i", "=COMPLEX(10,-5,\"i\")": "10-5i",
"=COMPLEX(0,5)": "5i", "=COMPLEX(0,5)": "5i",
"=COMPLEX(3,0)": "3", "=COMPLEX(3,0)": "3",
"=COMPLEX(0,-2)": "-2i",
"=COMPLEX(0,0)": "0",
"=COMPLEX(0,-1,\"j\")": "-j",
// DEC2BIN // DEC2BIN
"=DEC2BIN(2)": "10", "=DEC2BIN(2)": "10",
"=DEC2BIN(3)": "11", "=DEC2BIN(3)": "11",
@ -127,6 +130,43 @@ func TestCalcCellValue(t *testing.T) {
"=HEX2OCT(\"8\",10)": "0000000010", "=HEX2OCT(\"8\",10)": "0000000010",
"=HEX2OCT(\"FFFFFFFFF8\")": "7777777770", "=HEX2OCT(\"FFFFFFFFF8\")": "7777777770",
"=HEX2OCT(\"1F3\")": "763", "=HEX2OCT(\"1F3\")": "763",
// IMABS
"=IMABS(\"2j\")": "2",
"=IMABS(\"-1+2i\")": "2.23606797749979",
"=IMABS(COMPLEX(-1,2,\"j\"))": "2.23606797749979",
// IMCOS
"=IMCOS(0)": "1",
"=IMCOS(0.5)": "0.877582561890373",
"=IMCOS(\"3+0.5i\")": "-1.1163412445261518-0.0735369737112366i",
// IMCOSH
"=IMCOSH(0.5)": "1.127625965206381",
"=IMCOSH(\"3+0.5i\")": "8.835204606500994+4.802825082743033i",
"=IMCOSH(\"2-i\")": "2.0327230070196656-3.0518977991518i",
"=IMCOSH(COMPLEX(1,-1))": "0.8337300251311491-0.9888977057628651i",
// IMCOT
"=IMCOT(0.5)": "1.830487721712452",
"=IMCOT(\"3+0.5i\")": "-0.4793455787473728-2.016092521506228i",
"=IMCOT(\"2-i\")": "-0.171383612909185+0.8213297974938518i",
"=IMCOT(COMPLEX(1,-1))": "0.21762156185440268+0.868014142895925i",
// IMCSC
"=IMCSC(\"j\")": "-0.8509181282393216i",
// IMCSCH
"=IMCSCH(COMPLEX(1,-1))": "0.30393100162842646+0.6215180171704284i",
// IMEXP
"=IMEXP(0)": "1",
"=IMEXP(0.5)": "1.648721270700128",
"=IMEXP(\"1-2i\")": "-1.1312043837568135-2.4717266720048183i",
"=IMEXP(COMPLEX(1,-1))": "1.4686939399158851-2.2873552871788423i",
// IMLN
"=IMLN(0.5)": "-0.693147180559945",
"=IMLN(\"3+0.5i\")": "1.1123117757621668+0.16514867741462683i",
"=IMLN(\"2-i\")": "0.8047189562170503-0.4636476090008061i",
"=IMLN(COMPLEX(1,-1))": "0.3465735902799727-0.7853981633974483i",
// IMLOG10
"=IMLOG10(0.5)": "-0.301029995663981",
"=IMLOG10(\"3+0.5i\")": "0.48307086636951624+0.07172315929479262i",
"=IMLOG10(\"2-i\")": "0.34948500216800943-0.20135959813668655i",
"=IMLOG10(COMPLEX(1,-1))": "0.1505149978319906-0.3410940884604603i",
// OCT2BIN // OCT2BIN
"=OCT2BIN(\"5\")": "101", "=OCT2BIN(\"5\")": "101",
"=OCT2BIN(\"0000000001\")": "1", "=OCT2BIN(\"0000000001\")": "1",
@ -1135,6 +1175,37 @@ func TestCalcCellValue(t *testing.T) {
"=HEX2OCT(1,\"\")": "strconv.ParseFloat: parsing \"\": invalid syntax", "=HEX2OCT(1,\"\")": "strconv.ParseFloat: parsing \"\": invalid syntax",
"=HEX2OCT(-513,10)": "strconv.ParseInt: parsing \"-\": invalid syntax", "=HEX2OCT(-513,10)": "strconv.ParseInt: parsing \"-\": invalid syntax",
"=HEX2OCT(1,-1)": "#NUM!", "=HEX2OCT(1,-1)": "#NUM!",
// IMABS
"=IMABS()": "IMABS requires 1 argument",
"=IMABS(\"\")": "strconv.ParseComplex: parsing \"\": invalid syntax",
// IMCOS
"=IMCOS()": "IMCOS requires 1 argument",
"=IMCOS(\"\")": "strconv.ParseComplex: parsing \"\": invalid syntax",
// IMCOSH
"=IMCOSH()": "IMCOSH requires 1 argument",
"=IMCOSH(\"\")": "strconv.ParseComplex: parsing \"\": invalid syntax",
// IMCOT
"=IMCOT()": "IMCOT requires 1 argument",
"=IMCOT(\"\")": "strconv.ParseComplex: parsing \"\": invalid syntax",
// IMCSC
"=IMCSC()": "IMCSC requires 1 argument",
"=IMCSC(\"\")": "strconv.ParseComplex: parsing \"\": invalid syntax",
"=IMCSC(0)": "#NUM!",
// IMCSCH
"=IMCSCH()": "IMCSCH requires 1 argument",
"=IMCSCH(\"\")": "strconv.ParseComplex: parsing \"\": invalid syntax",
"=IMCSCH(0)": "#NUM!",
// IMEXP
"=IMEXP()": "IMEXP requires 1 argument",
"=IMEXP(\"\")": "strconv.ParseComplex: parsing \"\": invalid syntax",
// IMLN
"=IMLN()": "IMLN requires 1 argument",
"=IMLN(\"\")": "strconv.ParseComplex: parsing \"\": invalid syntax",
"=IMLN(0)": "#NUM!",
// IMLOG10
"=IMLOG10()": "IMLOG10 requires 1 argument",
"=IMLOG10(\"\")": "strconv.ParseComplex: parsing \"\": invalid syntax",
"=IMLOG10(0)": "#NUM!",
// OCT2BIN // OCT2BIN
"=OCT2BIN()": "OCT2BIN requires at least 1 argument", "=OCT2BIN()": "OCT2BIN requires at least 1 argument",
"=OCT2BIN(1,1,1)": "OCT2BIN allows at most 2 arguments", "=OCT2BIN(1,1,1)": "OCT2BIN allows at most 2 arguments",

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

2
col.go
View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -5,7 +5,7 @@
// Package excelize providing a set of functions that allow you to write to // Package excelize providing a set of functions that allow you to write to
// and read from XLSX files. Support reads and writes XLSX file generated by // and read from XLSX files. Support reads and writes XLSX file generated by
// Microsoft Excel™ 2007 and later. Support save file without losing original // Microsoft Excel™ 2007 and later. Support save file without losing original
// charts of XLSX. This library needs Go version 1.10 or later. // charts of XLSX. This library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -5,7 +5,7 @@
// Package excelize providing a set of functions that allow you to write to // Package excelize providing a set of functions that allow you to write to
// and read from XLSX files. Support reads and writes XLSX file generated by // and read from XLSX files. Support reads and writes XLSX file generated by
// Microsoft Excel™ 2007 and later. Support save file without losing original // Microsoft Excel™ 2007 and later. Support save file without losing original
// charts of XLSX. This library needs Go version 1.10 or later. // charts of XLSX. This library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -5,7 +5,7 @@
// Package excelize providing a set of functions that allow you to write to // Package excelize providing a set of functions that allow you to write to
// and read from XLSX files. Support reads and writes XLSX file generated by // and read from XLSX files. Support reads and writes XLSX file generated by
// Microsoft Excel™ 2007 and later. Support save file without losing original // Microsoft Excel™ 2007 and later. Support save file without losing original
// charts of XLSX. This library needs Go version 1.10 or later. // charts of XLSX. This library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -5,7 +5,7 @@
// Package excelize providing a set of functions that allow you to write to // Package excelize providing a set of functions that allow you to write to
// and read from XLSX files. Support reads and writes XLSX file generated by // and read from XLSX files. Support reads and writes XLSX file generated by
// Microsoft Excel™ 2007 and later. Support save file without losing original // Microsoft Excel™ 2007 and later. Support save file without losing original
// charts of XLSX. This library needs Go version 1.10 or later. // charts of XLSX. This library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
// //
// See https://xuri.me/excelize for more information about this package. // See https://xuri.me/excelize for more information about this package.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

2
go.mod
View File

@ -1,6 +1,6 @@
module github.com/360EntSecGroup-Skylar/excelize/v2 module github.com/360EntSecGroup-Skylar/excelize/v2
go 1.11 go 1.15
require ( require (
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826

2
lib.go
View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
// //
// This file contains default templates for XML files we don't yet populated // This file contains default templates for XML files we don't yet populated
// based on content. // based on content.

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// Package excelize providing a set of functions that allow you to write to // Package excelize providing a set of functions that allow you to write to
// and read from XLSX files. Support reads and writes XLSX file generated by // and read from XLSX files. Support reads and writes XLSX file generated by
// Microsoft Excel™ 2007 and later. Support save file without losing original // Microsoft Excel™ 2007 and later. Support save file without losing original
// charts of XLSX. This library needs Go version 1.10 or later. // charts of XLSX. This library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize

View File

@ -7,7 +7,7 @@
// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports // spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports
// complex components by high compatibility, and provided streaming API for // complex components by high compatibility, and provided streaming API for
// generating or reading data from a worksheet with huge amounts of data. This // generating or reading data from a worksheet with huge amounts of data. This
// library needs Go version 1.10 or later. // library needs Go version 1.15 or later.
package excelize package excelize