1 /*****************************************************************************
2 * Test cases for libxlsxwriter.
3 *
4 * Test to compare output against Excel files.
5 *
6 * Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
7 *
8 */
9
10 #include "xlsxwriter.h"
11
main()12 int main() {
13
14 lxw_workbook *workbook = workbook_new("test_chart_order01.xlsx");
15 lxw_worksheet *worksheet1 = workbook_add_worksheet(workbook, NULL);
16 lxw_worksheet *worksheet2 = workbook_add_worksheet(workbook, NULL);
17 lxw_worksheet *worksheet3 = workbook_add_worksheet(workbook, NULL);
18 lxw_chart *chart1 = workbook_add_chart(workbook, LXW_CHART_COLUMN);
19 lxw_chart *chart2 = workbook_add_chart(workbook, LXW_CHART_BAR);
20 lxw_chart *chart3 = workbook_add_chart(workbook, LXW_CHART_LINE);
21 lxw_chart *chart4 = workbook_add_chart(workbook, LXW_CHART_PIE);
22
23 /* For testing, copy the randomly generated axis ids in the target file. */
24 chart1->axis_id_1 = 54976896;
25 chart1->axis_id_2 = 54978432;
26
27 chart2->axis_id_1 = 54310784;
28 chart2->axis_id_2 = 54312320;
29
30 chart3->axis_id_1 = 69816704;
31 chart3->axis_id_2 = 69818240;
32
33 chart4->axis_id_1 = 69816704;
34 chart4->axis_id_2 = 69818240;
35
36 uint8_t data[5][3] = {
37 {1, 2, 3},
38 {2, 4, 6},
39 {3, 6, 9},
40 {4, 8, 12},
41 {5, 10, 15}
42 };
43
44 int row, col;
45 for (row = 0; row < 5; row++)
46 for (col = 0; col < 3; col++) {
47 worksheet_write_number(worksheet1, row, col, data[row][col], NULL);
48 worksheet_write_number(worksheet2, row, col, data[row][col], NULL);
49 worksheet_write_number(worksheet3, row, col, data[row][col], NULL);
50 }
51
52 chart_add_series(chart1, NULL, "=Sheet1!$A$1:$A$5");
53 chart_add_series(chart2, NULL, "=Sheet2!$A$1:$A$5");
54 chart_add_series(chart3, NULL, "=Sheet3!$A$1:$A$5");
55 chart_add_series(chart4, NULL, "=Sheet1!$B$1:$B$5");
56
57 worksheet_insert_chart(worksheet1, CELL("E9"), chart1);
58 worksheet_insert_chart(worksheet2, CELL("E9"), chart2);
59 worksheet_insert_chart(worksheet3, CELL("E9"), chart3);
60 worksheet_insert_chart(worksheet1, CELL("E24"), chart4);
61
62 return workbook_close(workbook);
63 }
64