1
1
use super :: constants:: * ;
2
2
use super :: structs:: * ;
3
+ use crate :: XlsxError ;
3
4
use crate :: { convert_bool, Workbook , WorksheetCol , WorksheetRow } ;
4
5
5
6
/// Struct to represent an Excel chart data series.
@@ -20,7 +21,7 @@ impl<'a> ChartSeries<'a> {
20
21
/// # let mut worksheet = workbook.add_worksheet(None)?;
21
22
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
22
23
/// # let mut chart = workbook.add_chart(ChartType::Column);
23
- /// let mut series = chart.add_series(None, None);
24
+ /// let mut series = chart.add_series(None, None)? ;
24
25
/// series.set_categories("Sheet1", 0, 0, 4, 0); // "=Sheet1!$A$1:$A$5"
25
26
/// series.set_values("Sheet1", 0, 1, 4, 1); // "=Sheet1!$B$1:$B$5"
26
27
/// # worksheet.insert_chart(1, 3, &chart)?;
@@ -41,17 +42,18 @@ impl<'a> ChartSeries<'a> {
41
42
first_column : WorksheetCol ,
42
43
last_row : WorksheetRow ,
43
44
last_column : WorksheetCol ,
44
- ) {
45
+ ) -> Result < ( ) , XlsxError > {
45
46
unsafe {
46
47
libxlsxwriter_sys:: chart_series_set_categories (
47
48
self . chart_series ,
48
- self . _workbook . register_str ( sheet_name) ,
49
+ self . _workbook . register_str ( sheet_name) ? ,
49
50
first_row,
50
51
first_column,
51
52
last_row,
52
53
last_column,
53
54
) ;
54
55
}
56
+ Ok ( ( ) )
55
57
}
56
58
57
59
/// The categories and values of a chart data series are generally set using the `Chart.add_series()` function and Excel range formulas like "=Sheet1!$A$2:$A$7".
@@ -64,17 +66,18 @@ impl<'a> ChartSeries<'a> {
64
66
first_column : WorksheetCol ,
65
67
last_row : WorksheetRow ,
66
68
last_column : WorksheetCol ,
67
- ) {
69
+ ) -> Result < ( ) , XlsxError > {
68
70
unsafe {
69
71
libxlsxwriter_sys:: chart_series_set_values (
70
72
self . chart_series ,
71
- self . _workbook . register_str ( sheet_name) ,
73
+ self . _workbook . register_str ( sheet_name) ? ,
72
74
first_row,
73
75
first_column,
74
76
last_row,
75
77
last_column,
76
78
) ;
77
79
}
80
+ Ok ( ( ) )
78
81
}
79
82
80
83
/// This function is used to set the name for a chart data series. The series name in Excel is displayed in the chart legend and in the formula bar. The name property is optional and if it isn't supplied it will default to `Series 1..n`.
@@ -86,7 +89,7 @@ impl<'a> ChartSeries<'a> {
86
89
/// # let mut worksheet = workbook.add_worksheet(None)?;
87
90
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
88
91
/// # let mut chart = workbook.add_chart(ChartType::Column);
89
- /// let mut series = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
92
+ /// let mut series = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
90
93
/// series.set_name("Quarterly budget data");
91
94
/// # worksheet.insert_chart(1, 3, &chart)?;
92
95
/// # workbook.close()
@@ -112,7 +115,7 @@ impl<'a> ChartSeries<'a> {
112
115
/// # let mut worksheet = workbook.add_worksheet(None)?;
113
116
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
114
117
/// # let mut chart = workbook.add_chart(ChartType::Column);
115
- /// let mut series = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
118
+ /// let mut series = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
116
119
/// series.set_name("=Sheet1!$A$1:$A$1");
117
120
/// # worksheet.insert_chart(1, 3, &chart)?;
118
121
/// # workbook.close()
@@ -129,13 +132,14 @@ impl<'a> ChartSeries<'a> {
129
132
/// # Ok(())
130
133
/// # }
131
134
/// ```
132
- pub fn set_name ( & mut self , name : & str ) {
135
+ pub fn set_name ( & mut self , name : & str ) -> Result < ( ) , XlsxError > {
133
136
unsafe {
134
137
libxlsxwriter_sys:: chart_series_set_name (
135
138
self . chart_series ,
136
- self . _workbook . register_str ( name) ,
139
+ self . _workbook . register_str ( name) ? ,
137
140
) ;
138
141
}
142
+ Ok ( ( ) )
139
143
}
140
144
141
145
/// The `ChartSeries.set_name_range()` function can be used to set a series name range and is an alternative to using `ChartSeries.set_name()` and a string formula:
@@ -146,7 +150,7 @@ impl<'a> ChartSeries<'a> {
146
150
/// # let mut worksheet = workbook.add_worksheet(None)?;
147
151
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
148
152
/// # let mut chart = workbook.add_chart(ChartType::Column);
149
- /// let mut series = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"));
153
+ /// let mut series = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"))? ;
150
154
/// series.set_name_range("Sheet1", 0, 1); // =Sheet1!$B$1
151
155
/// # worksheet.insert_chart(1, 3, &chart)?;
152
156
/// # workbook.close()
@@ -163,15 +167,21 @@ impl<'a> ChartSeries<'a> {
163
167
/// # Ok(())
164
168
/// # }
165
169
/// ```
166
- pub fn set_name_range ( & mut self , sheet_name : & str , row : WorksheetRow , column : WorksheetCol ) {
170
+ pub fn set_name_range (
171
+ & mut self ,
172
+ sheet_name : & str ,
173
+ row : WorksheetRow ,
174
+ column : WorksheetCol ,
175
+ ) -> Result < ( ) , XlsxError > {
167
176
unsafe {
168
177
libxlsxwriter_sys:: chart_series_set_name_range (
169
178
self . chart_series ,
170
- self . _workbook . register_str ( sheet_name) ,
179
+ self . _workbook . register_str ( sheet_name) ? ,
171
180
row,
172
181
column,
173
182
) ;
174
183
}
184
+ Ok ( ( ) )
175
185
}
176
186
177
187
/// Set the line/border properties of a chart series:
@@ -182,9 +192,9 @@ impl<'a> ChartSeries<'a> {
182
192
/// # let mut worksheet = workbook.add_worksheet(None)?;
183
193
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
184
194
/// # let mut chart = workbook.add_chart(ChartType::Column);
185
- /// let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
186
- /// let mut series2 = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"));
187
- /// let mut series3 = chart.add_series(None, Some("=Sheet1!$C$2:$C$6"));
195
+ /// let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
196
+ /// let mut series2 = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"))? ;
197
+ /// let mut series3 = chart.add_series(None, Some("=Sheet1!$C$2:$C$6"))? ;
188
198
/// let mut chart_line = ChartLine::new();
189
199
/// chart_line.color = FormatColor::Red;
190
200
/// series1.set_line(&chart_line);
@@ -220,9 +230,9 @@ impl<'a> ChartSeries<'a> {
220
230
/// # let mut worksheet = workbook.add_worksheet(None)?;
221
231
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
222
232
/// # let mut chart = workbook.add_chart(ChartType::Column);
223
- /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
224
- /// # let mut series2 = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"));
225
- /// # let mut series3 = chart.add_series(None, Some("=Sheet1!$C$2:$C$6"));
233
+ /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
234
+ /// # let mut series2 = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"))? ;
235
+ /// # let mut series3 = chart.add_series(None, Some("=Sheet1!$C$2:$C$6"))? ;
226
236
/// let mut chart_fill_1 = ChartFill::new();
227
237
/// chart_fill_1.color = FormatColor::Red;
228
238
/// let mut chart_fill_2 = ChartFill::new();
@@ -262,9 +272,9 @@ impl<'a> ChartSeries<'a> {
262
272
/// # let mut worksheet = workbook.add_worksheet(None)?;
263
273
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
264
274
/// # let mut chart = workbook.add_chart(ChartType::Column);
265
- /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
266
- /// # let mut series2 = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"));
267
- /// # let mut series3 = chart.add_series(None, Some("=Sheet1!$C$2:$C$6"));
275
+ /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
276
+ /// # let mut series2 = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"))? ;
277
+ /// # let mut series3 = chart.add_series(None, Some("=Sheet1!$C$2:$C$6"))? ;
268
278
/// # series1.set_name("=Sheet1!$A$1");
269
279
/// # series2.set_name("=Sheet1!$B$1");
270
280
/// # series3.set_name("=Sheet1!$C$1");
@@ -310,8 +320,8 @@ impl<'a> ChartSeries<'a> {
310
320
/// # let mut worksheet = workbook.add_worksheet(None)?;
311
321
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
312
322
/// # let mut chart = workbook.add_chart(ChartType::Column);
313
- /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
314
- /// # let mut series2 = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"));
323
+ /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
324
+ /// # let mut series2 = chart.add_series(None, Some("=Sheet1!$B$2:$B$6"))? ;
315
325
/// # series1.set_name("=Sheet1!$A$1");
316
326
/// # series2.set_name("=Sheet1!$B$1");
317
327
/// let pattern1 = ChartPattern::new(FormatColor::Custom(0x804000), FormatColor::Custom(0xC68C53), ChartPatternType::Shingle);
@@ -347,7 +357,7 @@ impl<'a> ChartSeries<'a> {
347
357
/// # let mut worksheet = workbook.add_worksheet(None)?;
348
358
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
349
359
/// # let mut chart = workbook.add_chart(ChartType::Line);
350
- /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
360
+ /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
351
361
/// # series1.set_name("=Sheet1!$A$1");
352
362
/// series1.set_marker_type(ChartMarkerType::MarkerDiamond);
353
363
/// # worksheet.insert_chart(1, 3, &chart)?;
@@ -377,7 +387,7 @@ impl<'a> ChartSeries<'a> {
377
387
/// # let mut worksheet = workbook.add_worksheet(None)?;
378
388
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
379
389
/// # let mut chart = workbook.add_chart(ChartType::Line);
380
- /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
390
+ /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
381
391
/// # series1.set_name("=Sheet1!$A$1");
382
392
/// series1.set_marker_type(ChartMarkerType::MarkerDiamond);
383
393
/// series1.set_marker_size(10);
@@ -405,7 +415,7 @@ impl<'a> ChartSeries<'a> {
405
415
/// # let mut worksheet = workbook.add_worksheet(None)?;
406
416
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
407
417
/// # let mut chart = workbook.add_chart(ChartType::Line);
408
- /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
418
+ /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
409
419
/// # series1.set_name("=Sheet1!$A$1");
410
420
/// series1.set_marker_type(ChartMarkerType::MarkerDiamond);
411
421
/// let mut marker_line = ChartLine::new();
@@ -441,7 +451,7 @@ impl<'a> ChartSeries<'a> {
441
451
/// # let mut worksheet = workbook.add_worksheet(None)?;
442
452
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
443
453
/// # let mut chart = workbook.add_chart(ChartType::Line);
444
- /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
454
+ /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
445
455
/// # series1.set_name("=Sheet1!$A$1");
446
456
/// series1.set_marker_type(ChartMarkerType::MarkerDiamond);
447
457
/// let mut marker_line = ChartLine::new();
@@ -482,7 +492,7 @@ impl<'a> ChartSeries<'a> {
482
492
/// # let mut worksheet = workbook.add_worksheet(None)?;
483
493
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
484
494
/// # let mut chart = workbook.add_chart(ChartType::Line);
485
- /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
495
+ /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
486
496
/// # series1.set_name("=Sheet1!$A$1");
487
497
/// series1.set_smooth(true);
488
498
/// # worksheet.insert_chart(1, 3, &chart)?;
@@ -512,7 +522,7 @@ impl<'a> ChartSeries<'a> {
512
522
/// # let mut worksheet = workbook.add_worksheet(None)?;
513
523
/// # write_worksheet(&mut worksheet)?; // write worksheet contents
514
524
/// # let mut chart = workbook.add_chart(ChartType::Line);
515
- /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"));
525
+ /// # let mut series1 = chart.add_series(None, Some("=Sheet1!$A$2:$A$6"))? ;
516
526
/// # series1.set_name("=Sheet1!$A$1");
517
527
/// series1.set_marker_type(ChartMarkerType::MarkerDiamond);
518
528
/// series1.set_labels();
0 commit comments