int main() { lxw_workbook *workbook = new_workbook("test_chart_display_units11.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 69559424; chart->axis_id_2 = 69560960; worksheet_write_number(worksheet, 0, 0, 10000000, NULL); worksheet_write_number(worksheet, 1, 0, 20000000, NULL); worksheet_write_number(worksheet, 2, 0, 30000000, NULL); worksheet_write_number(worksheet, 3, 0, 20000000, NULL); worksheet_write_number(worksheet, 4, 0, 10000000, NULL); chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_axis_set_display_units(chart->y_axis, LXW_CHART_AXIS_UNITS_HUNDREDS); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = workbook_new("test_format51.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_format *format; double value = 123.456; worksheet_set_column(worksheet, 0, 0, 12, NULL); format = workbook_add_format(workbook); format_set_num_format(format, "0.0"); worksheet_write_number(worksheet, 0, 0, value, format); format = workbook_add_format(workbook); format_set_num_format(format, "0.000"); worksheet_write_number(worksheet, 1, 0, value, format); format = workbook_add_format(workbook); format_set_num_format(format, "0.0000"); worksheet_write_number(worksheet, 2, 0, value, format); format = workbook_add_format(workbook); format_set_num_format(format, "0.00000"); worksheet_write_number(worksheet, 3, 0, value, format); return workbook_close(workbook); }
int main() { /* Create a new workbook. */ lxw_workbook *workbook = workbook_new("anatomy.xlsx"); /* Add a worksheet with a user defined sheet name. */ lxw_worksheet *worksheet1 = workbook_add_worksheet(workbook, "Demo"); /* Add a worksheet with Excel's default sheet name: Sheet2. */ lxw_worksheet *worksheet2 = workbook_add_worksheet(workbook, NULL); /* Add some cell formats. */ lxw_format *myformat1 = workbook_add_format(workbook); lxw_format *myformat2 = workbook_add_format(workbook); /* Set the bold property for the first format. */ format_set_bold(myformat1); /* Set a number format for the second format. */ format_set_num_format(myformat2, "$#,##0.00"); /* Widen the first column to make the text clearer. */ worksheet_set_column(worksheet1, 0, 0, 20, NULL); /* Write some unformatted data. */ worksheet_write_string(worksheet1, 0, 0, "Peach", NULL); worksheet_write_string(worksheet1, 1, 0, "Plum", NULL); /* Write formatted data. */ worksheet_write_string(worksheet1, 2, 0, "Pear", myformat1); /* Formats can be reused. */ worksheet_write_string(worksheet1, 3, 0, "Persimmon", myformat1); /* Write some numbers. */ worksheet_write_number(worksheet1, 5, 0, 123, NULL); worksheet_write_number(worksheet1, 6, 0, 4567.555, myformat2); /* Write to the second worksheet. */ worksheet_write_string(worksheet2, 0, 0, "Some text", myformat1); /* Close the workbook, save the file and free any memory. */ uint8_t error = workbook_close(workbook); /* Check if there was any error creating the xlsx file. */ if (error) printf("Error in workbook_close().\n" "Error %d = %s\n", error, lxw_strerror(error)); return error; }
/* * Write some data to the worksheet. */ void write_worksheet_data(lxw_worksheet *worksheet, lxw_format *bold) { worksheet_write_string(worksheet, CELL("A1"), "Category", bold); worksheet_write_string(worksheet, CELL("A2"), "Apple", NULL); worksheet_write_string(worksheet, CELL("A3"), "Cherry", NULL); worksheet_write_string(worksheet, CELL("A4"), "Pecan", NULL); worksheet_write_string(worksheet, CELL("B1"), "Values", bold); worksheet_write_number(worksheet, CELL("B2"), 60, NULL); worksheet_write_number(worksheet, CELL("B3"), 30, NULL); worksheet_write_number(worksheet, CELL("B4"), 10, NULL); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_order01.xlsx"); lxw_worksheet *worksheet1 = workbook_add_worksheet(workbook, NULL); lxw_worksheet *worksheet2 = workbook_add_worksheet(workbook, NULL); lxw_worksheet *worksheet3 = workbook_add_worksheet(workbook, NULL); lxw_chart *chart1 = workbook_add_chart(workbook, LXW_CHART_COLUMN); lxw_chart *chart2 = workbook_add_chart(workbook, LXW_CHART_BAR); lxw_chart *chart3 = workbook_add_chart(workbook, LXW_CHART_LINE); lxw_chart *chart4 = workbook_add_chart(workbook, LXW_CHART_PIE); /* For testing, copy the randomly generated axis ids in the target file. */ chart1->axis_id_1 = 54976896; chart1->axis_id_2 = 54978432; chart2->axis_id_1 = 54310784; chart2->axis_id_2 = 54312320; chart3->axis_id_1 = 69816704; chart3->axis_id_2 = 69818240; chart4->axis_id_1 = 69816704; chart4->axis_id_2 = 69818240; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) { worksheet_write_number(worksheet1, row, col, data[row][col], NULL); worksheet_write_number(worksheet2, row, col, data[row][col], NULL); worksheet_write_number(worksheet3, row, col, data[row][col], NULL); } chart_add_series(chart1, NULL, "=Sheet1!$A$1:$A$5"); chart_add_series(chart2, NULL, "=Sheet2!$A$1:$A$5"); chart_add_series(chart3, NULL, "=Sheet3!$A$1:$A$5"); chart_add_series(chart4, NULL, "=Sheet1!$B$1:$B$5"); worksheet_insert_chart(worksheet1, CELL("E9"), chart1); worksheet_insert_chart(worksheet2, CELL("E9"), chart2); worksheet_insert_chart(worksheet3, CELL("E9"), chart3); worksheet_insert_chart(worksheet1, CELL("E24"), chart4); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = workbook_new("test_data02.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); /* Tests for the row range. */ worksheet_write_number(worksheet, 0, 0, 123, NULL); worksheet_write_number(worksheet, 1048575, 0, 456, NULL); /* These should be ignored. */ worksheet_write_number(worksheet, -1, 0, 123, NULL); worksheet_write_number(worksheet, 1048576, 0, 456, NULL); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_bar02.xlsx"); lxw_worksheet *worksheet1 = workbook_add_worksheet(workbook, NULL); lxw_worksheet *worksheet2 = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_BAR); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 93218304; chart->axis_id_2 = 93219840; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet2, row, col, data[row][col] , NULL); worksheet_write_string(worksheet1, CELL("A1"), "Foo" , NULL); chart_add_series(chart, "Sheet2!$A$1:$A$5", "Sheet2!$B$1:$B$5"); chart_add_series(chart, "Sheet2!$A$1:$A$5", "Sheet2!$C$1:$C$5"); worksheet_insert_chart(worksheet2, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_axis06.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE); uint8_t data[3][2] = { {2, 60}, {4, 30}, {6, 10}, }; int row, col; for (row = 0; row < 3; row++) for (col = 0; col < 2; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, "=Sheet1!$A$1:$A$3", "=Sheet1!$B$1:$B$3" ); chart_title_set_name(chart, "Title"); /* Axis formatting should be igmored. */ chart_axis_set_name(chart->x_axis, "XXX"); chart_axis_set_name(chart->y_axis, "YYY"); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_data_labels13.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE); uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); lxw_chart_series *series1 = chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_series_set_labels(series1); chart_series_set_labels_position(series1, LXW_CHART_LABEL_POSITION_INSIDE_END); chart_series_set_labels_leader_line(series1); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_blank03.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_LINE); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 44253568; chart->axis_id_2 = 44269952; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5"); chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5"); chart_show_blanks_as(chart, LXW_CHART_BLANKS_AS_CONNECTED); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_legend03.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_LINE); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 93548928; chart->axis_id_2 = 93550464; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5"); chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5"); chart_legend_set_position(chart, LXW_CHART_LEGEND_TOP_RIGHT); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_size01.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 61355904; chart->axis_id_2 = 61365248; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5"); chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5"); lxw_image_options options = {.x_scale = 1.06666667, .y_scale = 1.11111112}; worksheet_insert_chart_opt(worksheet, CELL("E9"), chart, &options); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_format19.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN_STACKED); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 56127488; chart->axis_id_2 = 57455360; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5"); lxw_chart_series *series = chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5"); chart_series_set_labels(series); chart_series_set_labels_position(series, LXW_CHART_LABEL_POSITION_INSIDE_BASE); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_axis25.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 47471232; chart->axis_id_2 = 48509696; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5"); chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5"); chart_axis_set_num_format(chart->x_axis, "[$¥-411]#,##0.00"); chart_axis_set_num_format(chart->y_axis, "0.00%"); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_doughnut02.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_DOUGHNUT); uint8_t data[3][2] = { {2, 60}, {4, 30}, {6, 10}, }; int row, col; for (row = 0; row < 3; row++) for (col = 0; col < 2; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, "=Sheet1!$A$1:$A$3", "=Sheet1!$B$1:$B$3" ); chart_set_hole_size(chart, 10); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_axis29.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_LINE); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 45444480; chart->axis_id_2 = 47402368; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5"); chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5"); lxw_chart_font font1 = {.rotation = -90, .baseline = -1}; chart_axis_set_num_font(chart->x_axis, &font1); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_row_t row; lxw_col_t col; lxw_row_t max_row = 1000; lxw_col_t max_col = 50; // 1 lxw_workbook *workbook; lxw_worksheet *worksheet; /* Set the worksheet options. */ lxw_workbook_options options; options.constant_memory = 1; /* Create a new workbook with options. */ // 1 workbook = workbook_new_opt("constant_memory.xlsx", &options); worksheet = workbook_add_worksheet(workbook, NULL); for (row = 0; row < max_row; row++) { for (col = 0; col < max_col; col++) { worksheet_write_number(worksheet, row, col, 123.45, NULL); } } return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_column05.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, "Foo"); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 47292800; chart->axis_id_2 = 47295104; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col] , NULL); chart_add_series(chart, NULL, "=Foo!$A$1:$A$5"); chart_add_series(chart, NULL, "=Foo!$B$1:$B$5"); chart_add_series(chart, NULL, "=Foo!$C$1:$C$5"); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_title01.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN); lxw_chart_series *series; /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 46165376; chart->axis_id_2 = 54462720; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); series = chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_series_set_name(series, "Foo"); chart_title_off(chart); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }
// Test assembling a Worksheet file with different span ranges. CTEST(worksheet, spans03) { char* got; char exp[] = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" "<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">" "<dimension ref=\"XFD1\"/>" "<sheetViews>" "<sheetView tabSelected=\"1\" workbookViewId=\"0\"/>" "</sheetViews>" "<sheetFormatPr defaultRowHeight=\"15\"/>" "<sheetData>" "<row r=\"1\" spans=\"16384:16384\">" "<c r=\"XFD1\">" "<v>123</v>" "</c>" "</row>" "</sheetData>" "<pageMargins left=\"0.7\" right=\"0.7\" top=\"0.75\" bottom=\"0.75\" header=\"0.3\" footer=\"0.3\"/>" "</worksheet>"; FILE* testfile = tmpfile(); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; worksheet_select(worksheet); worksheet_write_number(worksheet, 0, 16383, 123, NULL); lxw_worksheet_assemble_xml_file(worksheet); RUN_XLSX_STREQ_SHORT(exp, got); lxw_worksheet_free(worksheet); }
int main() { lxw_workbook *workbook = new_workbook("test_outline01.xlsx"); lxw_worksheet *worksheet1 = workbook_add_worksheet(workbook, "Outlined Rows"); lxw_format *bold = workbook_add_format(workbook); format_set_bold(bold); lxw_row_col_options options1 = {.hidden = 0, .level = 2, .collapsed = 0}; lxw_row_col_options options2 = {.hidden = 0, .level = 1, .collapsed = 0}; worksheet_set_column(worksheet1, COLS("A:A"), 20, NULL); worksheet_set_row_opt(worksheet1, 1, LXW_DEF_ROW_HEIGHT, NULL, &options1); worksheet_set_row_opt(worksheet1, 2, LXW_DEF_ROW_HEIGHT, NULL, &options1); worksheet_set_row_opt(worksheet1, 3, LXW_DEF_ROW_HEIGHT, NULL, &options1); worksheet_set_row_opt(worksheet1, 4, LXW_DEF_ROW_HEIGHT, NULL, &options1); worksheet_set_row_opt(worksheet1, 5, LXW_DEF_ROW_HEIGHT, NULL, &options2); worksheet_set_row_opt(worksheet1, 6, LXW_DEF_ROW_HEIGHT, NULL, &options1); worksheet_set_row_opt(worksheet1, 7, LXW_DEF_ROW_HEIGHT, NULL, &options1); worksheet_set_row_opt(worksheet1, 8, LXW_DEF_ROW_HEIGHT, NULL, &options1); worksheet_set_row_opt(worksheet1, 9, LXW_DEF_ROW_HEIGHT, NULL, &options1); worksheet_set_row_opt(worksheet1, 10, LXW_DEF_ROW_HEIGHT, NULL, &options2); worksheet_write_string(worksheet1, CELL("A1"), "Region", bold); worksheet_write_string(worksheet1, CELL("A2"), "North" , NULL); worksheet_write_string(worksheet1, CELL("A3"), "North" , NULL); worksheet_write_string(worksheet1, CELL("A4"), "North" , NULL); worksheet_write_string(worksheet1, CELL("A5"), "North" , NULL); worksheet_write_string(worksheet1, CELL("A6"), "North Total", bold); worksheet_write_string(worksheet1, CELL("B1"), "Sales", bold); worksheet_write_number(worksheet1, CELL("B2"), 1000 , NULL); worksheet_write_number(worksheet1, CELL("B3"), 1200 , NULL); worksheet_write_number(worksheet1, CELL("B4"), 900 , NULL); worksheet_write_number(worksheet1, CELL("B5"), 1200 , NULL); worksheet_write_formula_num(worksheet1, CELL("B6"), "=SUBTOTAL(9,B2:B5)", bold, 4300); worksheet_write_string(worksheet1, CELL("A7"), "South" , NULL); worksheet_write_string(worksheet1, CELL("A8"), "South" , NULL); worksheet_write_string(worksheet1, CELL("A9"), "South" , NULL); worksheet_write_string(worksheet1, CELL("A10"), "South" , NULL); worksheet_write_string(worksheet1, CELL("A11"), "South Total", bold); worksheet_write_number(worksheet1, CELL("B7"), 400 , NULL); worksheet_write_number(worksheet1, CELL("B8"), 600 , NULL); worksheet_write_number(worksheet1, CELL("B9"), 500 , NULL); worksheet_write_number(worksheet1, CELL("B10"), 600 , NULL); worksheet_write_formula_num(worksheet1, CELL("B11"), "=SUBTOTAL(9,B7:B10)", bold, 2100); worksheet_write_string(worksheet1, CELL("A12"), "Grand Total", bold); worksheet_write_formula_num(worksheet1, CELL("B12"), "=SUBTOTAL(9,B2:B10)", bold, 6400); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = workbook_new("test_simple01.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); worksheet_write_string(worksheet, 0, 0, "Hello", NULL); worksheet_write_number(worksheet, 1, 0, 123, NULL); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_bar03.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart1 = workbook_add_chart(workbook, LXW_CHART_BAR); lxw_chart *chart2 = workbook_add_chart(workbook, LXW_CHART_BAR); /* For testing, copy the randomly generated axis ids in the target file. */ chart1->axis_id_1 = 64265216; chart1->axis_id_2 = 64447616; chart2->axis_id_1 = 86048128; chart2->axis_id_2 = 86058112; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col] , NULL); chart_add_series(chart1, "=Sheet1!$A$1:$A$5", "=Sheet1!$B$1:$B$5" ); chart_add_series(chart1, "=Sheet1!$A$1:$A$5", "=Sheet1!$C$1:$C$5" ); worksheet_insert_chart(worksheet, CELL("E9"), chart1); chart_add_series(chart2, "=Sheet1!$A$1:$A$4", "=Sheet1!$B$1:$B$4" ); chart_add_series(chart2, "=Sheet1!$A$1:$A$4", "=Sheet1!$C$1:$C$4" ); worksheet_insert_chart(worksheet, CELL("F25"), chart2); return workbook_close(workbook); }
int main() { lxw_workbook_options options = {LXW_FALSE, "."}; lxw_workbook *workbook = workbook_new_opt("test_tmpdir01.xlsx", &options); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); worksheet_write_string(worksheet, 0, 0, "Hello", NULL); worksheet_write_number(worksheet, 1, 0, 123, NULL); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_simple02.xlsx"); lxw_worksheet *worksheet1 = workbook_add_worksheet(workbook, NULL); lxw_worksheet *worksheet2 = workbook_add_worksheet(workbook, "Data Sheet"); lxw_worksheet *worksheet3 = workbook_add_worksheet(workbook, NULL); lxw_format *format = workbook_add_format(workbook); format_set_bold(format); worksheet_write_string(worksheet1, 0, 0, "Foo", NULL); worksheet_write_number(worksheet1, 1, 0, 123, NULL); worksheet_write_string(worksheet3, 1, 1, "Foo", NULL); worksheet_write_string(worksheet3, 2, 1, "Bar", format); worksheet_write_number(worksheet3, 3, 2, 234, NULL); (void)worksheet2; /* Unused. For testing only. */ return workbook_close(workbook); }
// Test some out of bound writes. CTEST(worksheet, spans06) { int err; FILE* testfile = tmpfile(); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; worksheet_select(worksheet); err = worksheet_write_number(worksheet, 0, 16384, 123, NULL); ASSERT_EQUAL(-LXW_ERROR_WORKSHEET_INDEX_OUT_OF_RANGE, err); err = worksheet_write_number(worksheet, 1048576, 0, 123, NULL); ASSERT_EQUAL(-LXW_ERROR_WORKSHEET_INDEX_OUT_OF_RANGE, err); err = worksheet_write_number(worksheet, 1048576, 16384, 123, NULL); ASSERT_EQUAL(-LXW_ERROR_WORKSHEET_INDEX_OUT_OF_RANGE, err); lxw_worksheet_assemble_xml_file(worksheet); lxw_worksheet_free(worksheet); }
int main() { lxw_workbook *workbook = new_workbook("test_chartsheet08.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chartsheet *chartsheet = workbook_add_chartsheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_BAR); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 61297792; chart->axis_id_2 = 61299328; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5"); chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5"); chartsheet_set_margins(chartsheet, 0.511811023622047, 0.511811023622047, 0.551181102362204, 0.944881889763779); chartsheet_set_paper(chartsheet, 9); chartsheet_set_portrait(chartsheet); lxw_header_footer_options header_options = { 0.118110236220472 }; chartsheet_set_header_opt(chartsheet, "&CPage &P", &header_options); chartsheet_set_footer_opt(chartsheet, "&C&A", &header_options); /* For testing. */ chartsheet->worksheet->horizontal_dpi = 200; chartsheet->worksheet->vertical_dpi = 200; chartsheet_set_chart(chartsheet, chart); return workbook_close(workbook); }
int main() { lxw_workbook_options options = {1}; lxw_workbook *workbook = workbook_new_opt("test_optimize01.xlsx", &options); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); worksheet_write_string(worksheet, 0, 0, "Hello", NULL); /* For testing overwrite the 0, 0 cell to ensure the original is freed. */ worksheet_write_string(worksheet, 0, 0, "Hello", NULL); worksheet_write_number(worksheet, 1, 0, 123, NULL); return workbook_close(workbook); }
int main() { lxw_workbook_options options = {1, NULL}; lxw_workbook *workbook = workbook_new_opt("test_optimize02.xlsx", &options); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); worksheet_write_string(worksheet, 0, 0, "Hello", NULL); worksheet_write_number(worksheet, 1, 0, 123, NULL); /* G1 should be ignored since a later row has already been written. */ worksheet_write_string(worksheet, CELL("G1"), "World", NULL); return workbook_close(workbook); }
int main() { lxw_workbook *workbook = new_workbook("test_chart_font03.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_BAR); /* For testing, copy the randomly generated axis ids in the target file. */ chart->axis_id_1 = 45704704; chart->axis_id_2 = 45716224; uint8_t data[5][3] = { {1, 2, 3}, {2, 4, 6}, {3, 6, 9}, {4, 8, 12}, {5, 10, 15} }; int row, col; for (row = 0; row < 5; row++) for (col = 0; col < 3; col++) worksheet_write_number(worksheet, row, col, data[row][col], NULL); chart_add_series(chart, NULL, "=Sheet1!$A$1:$A$5"); chart_add_series(chart, NULL, "=Sheet1!$B$1:$B$5"); chart_add_series(chart, NULL, "=Sheet1!$C$1:$C$5"); lxw_chart_font font1 = {.italic = LXW_TRUE}; lxw_chart_font font2 = {.bold = LXW_TRUE, .italic = LXW_TRUE}; lxw_chart_font font3 = {.size = 11, .bold = LXW_TRUE, .italic = LXW_TRUE}; lxw_chart_font font4 = {.size = 9, .italic = LXW_TRUE}; chart_title_set_name(chart, "Title"); chart_title_set_name_font(chart, &font1); chart_axis_set_name(chart->x_axis, "XXX"); chart_axis_set_name_font(chart->x_axis, &font1); chart_axis_set_name(chart->y_axis, "YYY"); chart_axis_set_name_font(chart->y_axis, &font2); chart_axis_set_num_font(chart->x_axis, &font3); chart_axis_set_num_font(chart->y_axis, &font4); worksheet_insert_chart(worksheet, CELL("E9"), chart); return workbook_close(workbook); }