Home Documentation Writing Reading Pictures1 Pictures2 Formulas DateTime SheetByName
Merging Grouping InsertRowCol NumFormats Formats Fonts Buffer1 Buffer2 Copying TopNFilter
Sorting StringFilter NumberFilter FilterByValues Protection Replacing RichString BeginWith
ColorScale OpRule AltRows
Merging Grouping InsertRowCol NumFormats Formats Fonts Buffer1 Buffer2 Copying TopNFilter
Sorting StringFilter NumberFilter FilterByValues Protection Replacing RichString BeginWith
ColorScale OpRule AltRows
Aligning, colors and borders
This example shows how to use aligning, colors, borders and fill patterns.See the result in the acb.xlsx file.
#include "libxl.h" using namespace libxl; int main() { Book* book = xlCreateXMLBook(); Sheet* sheet = book->addSheet(L"my"); sheet->setDisplayGridlines(false); sheet->setCol(1, 1, 30); sheet->setCol(3, 3, 11.4); sheet->setCol(4, 4, 2); sheet->setCol(5, 5, 15); sheet->setCol(6, 6, 2); sheet->setCol(7, 7, 15.4); const wchar_t* nameAlignH[] = {L"ALIGNH_LEFT", L"ALIGNH_CENTER", L"ALIGNH_RIGHT"}; AlignH alignH[] = {ALIGNH_LEFT, ALIGNH_CENTER, ALIGNH_RIGHT}; for(int i = 0; i < sizeof(nameAlignH) / sizeof(const wchar_t*); ++i) { Format* format = book->addFormat(); format->setAlignH(alignH[i]); format->setBorder(); sheet->writeStr(i * 2 + 2, 1, nameAlignH[i], format); } const wchar_t* nameAlignV[] = {L"ALIGNV_TOP", L"ALIGNV_CENTER", L"ALIGNV_BOTTOM"}; AlignV alignV[] = {ALIGNV_TOP, ALIGNV_CENTER, ALIGNV_BOTTOM}; for(int i = 0; i < sizeof(nameAlignV) / sizeof(const wchar_t*); ++i) { Format* format = book->addFormat(); format->setAlignV(alignV[i]); format->setBorder(); sheet->writeStr(2, i * 2 + 3, nameAlignV[i], format); sheet->setMerge(2, 6, i * 2 + 3, i * 2 + 3); } const wchar_t* nameBorderStyle[] = {L"BORDERSTYLE_MEDIUM", L"BORDERSTYLE_DASHED", L"BORDERSTYLE_DOTTED", L"BORDERSTYLE_THICK", L"BORDERSTYLE_DOUBLE", L"BORDERSTYLE_DASHDOT"}; BorderStyle borderStyle[] = {BORDERSTYLE_MEDIUM, BORDERSTYLE_DASHED, BORDERSTYLE_DOTTED, BORDERSTYLE_THICK, BORDERSTYLE_DOUBLE, BORDERSTYLE_DASHDOT}; for(int i = 0; i < sizeof(nameBorderStyle) / sizeof(const wchar_t*); ++i) { Format* format = book->addFormat(); format->setBorder(borderStyle[i]); sheet->writeStr(i * 2 + 12, 1, nameBorderStyle[i], format); } const wchar_t* nameColors[] = {L"COLOR_RED", L"COLOR_BLUE", L"COLOR_YELLOW", L"COLOR_PINK", L"COLOR_GREEN", L"COLOR_GRAY25"}; Color colors[] = {COLOR_RED, COLOR_BLUE, COLOR_YELLOW, COLOR_PINK, COLOR_GREEN, COLOR_GRAY25}; FillPattern fillPatterns[] = {FILLPATTERN_GRAY50, FILLPATTERN_HORSTRIPE, FILLPATTERN_VERSTRIPE, FILLPATTERN_REVDIAGSTRIPE, FILLPATTERN_THINVERSTRIPE, FILLPATTERN_THINHORCROSSHATCH}; for(int i = 0; i < sizeof(nameColors) / sizeof(const wchar_t*); ++i) { Format* format1 = book->addFormat(); format1->setFillPattern(FILLPATTERN_SOLID); format1->setPatternForegroundColor(colors[i]); sheet->writeBlank(i * 2 + 12, 3, format1); Format* format2 = book->addFormat(); format2->setFillPattern(fillPatterns[i]); format2->setPatternForegroundColor(colors[i]); sheet->writeBlank(i * 2 + 12, 5, format2); Font* font = book->addFont(); font->setColor(colors[i]); Format* format3 = book->addFormat(); format3->setBorder(); format3->setBorderColor(colors[i]); format3->setFont(font); sheet->writeStr(i * 2 + 12, 7, nameColors[i], format3); } book->save(L"acb.xlsx"); book->release(); return 0; }