Skip to content

Commit 576bfff

Browse files
committed
This closes #752, fix incorrectly merged cells on duplicate row, and new formula function: LOWER, PROPER, UPPER
1 parent 77978ac commit 576bfff

File tree

6 files changed

+254
-94
lines changed

6 files changed

+254
-94
lines changed

README.md

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ func main() {
9797

9898
### Add chart to spreadsheet file
9999

100-
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.
100+
With Excelize chart generation and management is as easy as a few lines of code. You can build charts based on data in your worksheet or generate charts without any data in your worksheet at all.
101101

102102
<p align="center"><img width="650" src="./test/images/chart.png" alt="Excelize"></p>
103103

@@ -111,16 +111,40 @@ import (
111111
)
112112

113113
func main() {
114-
categories := map[string]string{"A2": "Small", "A3": "Normal", "A4": "Large", "B1": "Apple", "C1": "Orange", "D1": "Pear"}
115-
values := map[string]int{"B2": 2, "C2": 3, "D2": 3, "B3": 5, "C3": 2, "D3": 4, "B4": 6, "C4": 7, "D4": 8}
114+
categories := map[string]string{
115+
"A2": "Small", "A3": "Normal", "A4": "Large", "B1": "Apple", "C1": "Orange", "D1": "Pear"}
116+
values := map[string]int{
117+
"B2": 2, "C2": 3, "D2": 3, "B3": 5, "C3": 2, "D3": 4, "B4": 6, "C4": 7, "D4": 8}
116118
f := excelize.NewFile()
117119
for k, v := range categories {
118120
f.SetCellValue("Sheet1", k, v)
119121
}
120122
for k, v := range values {
121123
f.SetCellValue("Sheet1", k, v)
122124
}
123-
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 {
125+
if err := f.AddChart("Sheet1", "E1", `{
126+
"type": "col3DClustered",
127+
"series": [
128+
{
129+
"name": "Sheet1!$A$2",
130+
"categories": "Sheet1!$B$1:$D$1",
131+
"values": "Sheet1!$B$2:$D$2"
132+
},
133+
{
134+
"name": "Sheet1!$A$3",
135+
"categories": "Sheet1!$B$1:$D$1",
136+
"values": "Sheet1!$B$3:$D$3"
137+
},
138+
{
139+
"name": "Sheet1!$A$4",
140+
"categories": "Sheet1!$B$1:$D$1",
141+
"values": "Sheet1!$B$4:$D$4"
142+
}],
143+
"title":
144+
{
145+
"name": "Fruit 3D Clustered Column Chart"
146+
}
147+
}`); err != nil {
124148
fmt.Println(err)
125149
return
126150
}
@@ -156,11 +180,18 @@ func main() {
156180
fmt.Println(err)
157181
}
158182
// Insert a picture to worksheet with scaling.
159-
if err := f.AddPicture("Sheet1", "D2", "image.jpg", `{"x_scale": 0.5, "y_scale": 0.5}`); err != nil {
183+
if err := f.AddPicture("Sheet1", "D2", "image.jpg",
184+
`{"x_scale": 0.5, "y_scale": 0.5}`); err != nil {
160185
fmt.Println(err)
161186
}
162187
// Insert a picture offset in the cell with printing support.
163-
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 {
188+
if err := f.AddPicture("Sheet1", "H2", "image.gif", `{
189+
"x_offset": 15,
190+
"y_offset": 10,
191+
"print_obj": true,
192+
"lock_aspect_ratio": false,
193+
"locked": false
194+
}`); err != nil {
164195
fmt.Println(err)
165196
}
166197
// Save the spreadsheet with the origin path.

README_zh.md

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ func main() {
9999

100100
使用 Excelize 生成图表十分简单,仅需几行代码。您可以根据工作表中的已有数据构建图表,或向工作表中添加数据并创建图表。
101101

102-
<p align="center"><img width="650" src="./test/images/chart.png" alt="Excelize"></p>
102+
<p align="center"><img width="650" src="./test/images/chart.png" alt="使用 Excelize 在 Excel 电子表格文档中创建图表"></p>
103103

104104
```go
105105
package main
@@ -111,16 +111,40 @@ import (
111111
)
112112

113113
func main() {
114-
categories := map[string]string{"A2": "Small", "A3": "Normal", "A4": "Large", "B1": "Apple", "C1": "Orange", "D1": "Pear"}
115-
values := map[string]int{"B2": 2, "C2": 3, "D2": 3, "B3": 5, "C3": 2, "D3": 4, "B4": 6, "C4": 7, "D4": 8}
114+
categories := map[string]string{
115+
"A2": "Small", "A3": "Normal", "A4": "Large", "B1": "Apple", "C1": "Orange", "D1": "Pear"}
116+
values := map[string]int{
117+
"B2": 2, "C2": 3, "D2": 3, "B3": 5, "C3": 2, "D3": 4, "B4": 6, "C4": 7, "D4": 8}
116118
f := excelize.NewFile()
117119
for k, v := range categories {
118120
f.SetCellValue("Sheet1", k, v)
119121
}
120122
for k, v := range values {
121123
f.SetCellValue("Sheet1", k, v)
122124
}
123-
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 {
125+
if err := f.AddChart("Sheet1", "E1", `{
126+
"type": "col3DClustered",
127+
"series": [
128+
{
129+
"name": "Sheet1!$A$2",
130+
"categories": "Sheet1!$B$1:$D$1",
131+
"values": "Sheet1!$B$2:$D$2"
132+
},
133+
{
134+
"name": "Sheet1!$A$3",
135+
"categories": "Sheet1!$B$1:$D$1",
136+
"values": "Sheet1!$B$3:$D$3"
137+
},
138+
{
139+
"name": "Sheet1!$A$4",
140+
"categories": "Sheet1!$B$1:$D$1",
141+
"values": "Sheet1!$B$4:$D$4"
142+
}],
143+
"title":
144+
{
145+
"name": "Fruit 3D Clustered Column Chart"
146+
}
147+
}`); err != nil {
124148
fmt.Println(err)
125149
return
126150
}
@@ -156,11 +180,18 @@ func main() {
156180
fmt.Println(err)
157181
}
158182
// 在工作表中插入图片,并设置图片的缩放比例
159-
if err := f.AddPicture("Sheet1", "D2", "image.jpg", `{"x_scale": 0.5, "y_scale": 0.5}`); err != nil {
183+
if err := f.AddPicture("Sheet1", "D2", "image.jpg",
184+
`{"x_scale": 0.5, "y_scale": 0.5}`); err != nil {
160185
fmt.Println(err)
161186
}
162187
// 在工作表中插入图片,并设置图片的打印属性
163-
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 {
188+
if err := f.AddPicture("Sheet1", "H2", "image.gif", `{
189+
"x_offset": 15,
190+
"y_offset": 10,
191+
"print_obj": true,
192+
"lock_aspect_ratio": false,
193+
"locked": false
194+
}`); err != nil {
164195
fmt.Println(err)
165196
}
166197
// 保存文件

0 commit comments

Comments
 (0)