[GH-ISSUE #304] Diagonal borders #246

Closed
opened 2026-05-05 12:01:39 -06:00 by gitea-mirror · 2 comments
Owner

Originally created by @RaFaeL-NN on GitHub (Aug 19, 2020).
Original GitHub issue: https://github.com/jmcnamara/libxlsxwriter/issues/304

Originally assigned to: @jmcnamara on GitHub.

I found format_set_diag functions in the source but there is no docs for it. Is this functions undocumented, not supported or just orphaned? Can I use it?

Originally created by @RaFaeL-NN on GitHub (Aug 19, 2020). Original GitHub issue: https://github.com/jmcnamara/libxlsxwriter/issues/304 Originally assigned to: @jmcnamara on GitHub. I found _format_set_diag_ functions in the source but there is no docs for it. Is this functions undocumented, not supported or just orphaned? Can I use it?
gitea-mirror 2026-05-05 12:01:39 -06:00
Author
Owner

@jmcnamara commented on GitHub (Aug 19, 2020):

I think it is just a mistake/omission that it isn't documented. It is documented in the Perl and Python versions. For example: https://xlsxwriter.readthedocs.io/format.html#format-set-diag-border

I'll update the docs but in the meantime there is a test case for it here that you can see how it is used: https://github.com/jmcnamara/libxlsxwriter/blob/master/test/functional/src/test_format09.c

#include "xlsxwriter.h"

int main() {

    lxw_workbook  *workbook  = workbook_new("test_format09.xlsx");
    lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);

    lxw_format    *border1   = workbook_add_format(workbook);
    lxw_format    *border2   = workbook_add_format(workbook);
    lxw_format    *border3   = workbook_add_format(workbook);
    lxw_format    *border4   = workbook_add_format(workbook);


    format_set_border      (border1, LXW_BORDER_HAIR);
    format_set_border_color(border1, LXW_COLOR_RED);

    format_set_diag_type (border2, LXW_DIAGONAL_BORDER_UP);
    format_set_diag_color(border2, LXW_COLOR_RED);

    format_set_diag_type (border3, LXW_DIAGONAL_BORDER_DOWN);
    format_set_diag_color(border3, LXW_COLOR_RED);

    format_set_diag_type (border4, LXW_DIAGONAL_BORDER_UP_DOWN);
    format_set_diag_color(border4, LXW_COLOR_RED);

    worksheet_write_blank(worksheet, 1, 1, border1);
    worksheet_write_blank(worksheet, 3, 1, border2);
    worksheet_write_blank(worksheet, 5, 1, border3);
    worksheet_write_blank(worksheet, 7, 1, border4);

    return workbook_close(workbook);
}

There is an enum called lxw_format_diagonal_types with the types of diagonal borders.

<!-- gh-comment-id:676619011 --> @jmcnamara commented on GitHub (Aug 19, 2020): I think it is just a mistake/omission that it isn't documented. It is documented in the Perl and Python versions. For example: https://xlsxwriter.readthedocs.io/format.html#format-set-diag-border I'll update the docs but in the meantime there is a test case for it here that you can see how it is used: https://github.com/jmcnamara/libxlsxwriter/blob/master/test/functional/src/test_format09.c ```C #include "xlsxwriter.h" int main() { lxw_workbook *workbook = workbook_new("test_format09.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_format *border1 = workbook_add_format(workbook); lxw_format *border2 = workbook_add_format(workbook); lxw_format *border3 = workbook_add_format(workbook); lxw_format *border4 = workbook_add_format(workbook); format_set_border (border1, LXW_BORDER_HAIR); format_set_border_color(border1, LXW_COLOR_RED); format_set_diag_type (border2, LXW_DIAGONAL_BORDER_UP); format_set_diag_color(border2, LXW_COLOR_RED); format_set_diag_type (border3, LXW_DIAGONAL_BORDER_DOWN); format_set_diag_color(border3, LXW_COLOR_RED); format_set_diag_type (border4, LXW_DIAGONAL_BORDER_UP_DOWN); format_set_diag_color(border4, LXW_COLOR_RED); worksheet_write_blank(worksheet, 1, 1, border1); worksheet_write_blank(worksheet, 3, 1, border2); worksheet_write_blank(worksheet, 5, 1, border3); worksheet_write_blank(worksheet, 7, 1, border4); return workbook_close(workbook); } ``` There is an enum called `lxw_format_diagonal_types` with the types of diagonal borders.
Author
Owner

@jmcnamara commented on GitHub (Sep 12, 2020):

I've added documentation and an example for diagonal cell borders: http://libxlsxwriter.github.io/format_8h.html#a1bd8ade5206d187f4f790dbb004ca129

Thanks for pointing out the omission.

<!-- gh-comment-id:691496847 --> @jmcnamara commented on GitHub (Sep 12, 2020): I've added documentation and an example for diagonal cell borders: http://libxlsxwriter.github.io/format_8h.html#a1bd8ade5206d187f4f790dbb004ca129 Thanks for pointing out the omission.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/libxlsxwriter#246
No description provided.