int main() { lxw_workbook *workbook = workbook_new("defined_name.xlsx"); lxw_worksheet *worksheet; /* We don't use the returned worksheets in this example and use a generic * loop instead. */ workbook_add_worksheet(workbook, NULL); workbook_add_worksheet(workbook, NULL); /* Define some global/workbook names. */ workbook_define_name(workbook, "Sales", "=!G1:H10"); workbook_define_name(workbook, "Exchange_rate", "=0.96"); workbook_define_name(workbook, "Sales", "=Sheet1!$G$1:$H$10"); /* Define a local/worksheet name. */ workbook_define_name(workbook, "Sheet2!Sales", "=Sheet2!$G$1:$G$10"); /* Write some text to the worksheets and one of the defined name in a formula. */ LXW_FOREACH_WORKSHEET(worksheet, workbook){ worksheet_set_column(worksheet, 0, 0, 45, NULL); worksheet_write_string(worksheet, 0, 0, "This worksheet contains some defined names.", NULL); worksheet_write_string(worksheet, 1, 0, "See Formulas -> Name Manager above.", NULL); worksheet_write_string(worksheet, 2, 0, "Example formula in cell B3 ->", NULL); worksheet_write_formula(worksheet, 2, 1, "=Exchange_rate", NULL); }
/* Test the _write_defined_name() method. */ CTEST(workbook, write_defined_names_sorted) { char* got; char exp[] = "<definedNames><definedName name=\"_Egg\">Sheet1!$A$1</definedName><definedName name=\"_Fog\">Sheet1!$A$1</definedName><definedName name=\"aaa\" localSheetId=\"1\">Sheet2!$A$1</definedName><definedName name=\"Abc\">Sheet1!$A$1</definedName><definedName name=\"Bar\" localSheetId=\"2\">'Sheet 3'!$A$1</definedName><definedName name=\"Bar\" localSheetId=\"0\">Sheet1!$A$1</definedName><definedName name=\"Bar\" localSheetId=\"1\">Sheet2!$A$1</definedName><definedName name=\"Baz\">0.98</definedName><definedName name=\"car\" localSheetId=\"2\">\"Saab 900\"</definedName></definedNames>"; FILE* testfile = lxw_tmpfile(NULL); lxw_workbook *workbook = workbook_new(NULL); workbook->file = testfile; workbook_add_worksheet(workbook, NULL); workbook_add_worksheet(workbook, NULL); workbook_add_worksheet(workbook, "Sheet 3"); workbook_define_name(workbook, "'Sheet 3'!Bar", "='Sheet 3'!$A$1"); workbook_define_name(workbook, "Abc", "=Sheet1!$A$1" ); workbook_define_name(workbook, "Baz", "=0.98" ); workbook_define_name(workbook, "Sheet1!Bar", "=Sheet1!$A$1" ); workbook_define_name(workbook, "Sheet2!Bar", "=Sheet2!$A$1" ); workbook_define_name(workbook, "Sheet2!aaa", "=Sheet2!$A$1" ); workbook_define_name(workbook, "'Sheet 3'!car", "=\"Saab 900\"" ); workbook_define_name(workbook, "_Egg", "=Sheet1!$A$1" ); workbook_define_name(workbook, "_Fog", "=Sheet1!$A$1" ); _write_defined_names(workbook); RUN_XLSX_STREQ(exp, got); lxw_workbook_free(workbook); }
int main() { lxw_workbook *workbook = workbook_new("test_defined_name01.xlsx"); lxw_worksheet *worksheet1 = workbook_add_worksheet(workbook, NULL); lxw_worksheet *worksheet2 = workbook_add_worksheet(workbook, NULL); lxw_worksheet *worksheet3 = workbook_add_worksheet(workbook, "Sheet 3"); worksheet_set_paper(worksheet1, 9); worksheet1->vertical_dpi = 200; worksheet_print_area(worksheet1, RANGE("A1:E6")); worksheet_autofilter(worksheet1, RANGE("F1:G1")); worksheet_write_string(worksheet1, CELL("G1"), "Filter", NULL); worksheet_write_string(worksheet1, CELL("F1"), "Auto", NULL); worksheet_fit_to_pages(worksheet1, 2, 2); workbook_define_name(workbook, "'Sheet 3'!Bar", "='Sheet 3'!$A$1"); workbook_define_name(workbook, "Abc", "=Sheet1!$A$1"); workbook_define_name(workbook, "Baz", "=0.98"); workbook_define_name(workbook, "Sheet1!Bar", "=Sheet1!$A$1"); workbook_define_name(workbook, "Sheet2!Bar", "=Sheet2!$A$1"); workbook_define_name(workbook, "Sheet2!aaa", "=Sheet2!$A$1"); workbook_define_name(workbook, "_Egg", "=Sheet1!$A$1"); workbook_define_name(workbook, "_Fog", "=Sheet1!$A$1"); (void)worksheet2; (void)worksheet3; return workbook_close(workbook); }
int main() { lxw_workbook *workbook = workbook_new("test_defined_name03.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, "sheet One"); workbook_define_name(workbook, "Sales", "='sheet One'!G1:H10"); (void)worksheet; return workbook_close(workbook); }