[GH-ISSUE #507] Feature Request: Checkboxes #394

Open
opened 2026-05-05 12:14:37 -06:00 by gitea-mirror · 2 comments
Owner

Originally created by @kruftindustries on GitHub (Jan 12, 2026).
Original GitHub issue: https://github.com/jmcnamara/libxlsxwriter/issues/507

Originally assigned to: @jmcnamara on GitHub.

Insert checkbox form controls into cells. This is an Excel 365 feature (2024+) that displays boolean values as interactive checkboxes.

API Changes:
Note: autofit does not expose a new public API function.

New function:
lxw_error worksheet_insert_checkbox(lxw_worksheet *worksheet,
lxw_row_t row, lxw_col_t col,
uint8_t value);

Code Example:
#include "xlsxwriter.h"

int main() {
lxw_workbook *workbook = workbook_new("checkbox.xlsx");
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);

/* Insert checkboxes */
worksheet_insert_checkbox(worksheet, 0, 0, LXW_FALSE); /* Unchecked */
worksheet_insert_checkbox(worksheet, 1, 0, LXW_TRUE); /* Checked */
worksheet_insert_checkbox(worksheet, 2, 0, 0); /* Unchecked */
worksheet_insert_checkbox(worksheet, 3, 0, 1); /* Checked */

return workbook_close(workbook);
}

Image
Originally created by @kruftindustries on GitHub (Jan 12, 2026). Original GitHub issue: https://github.com/jmcnamara/libxlsxwriter/issues/507 Originally assigned to: @jmcnamara on GitHub. ### Insert checkbox form controls into cells. This is an Excel 365 feature (2024+) that displays boolean values as interactive checkboxes. **API Changes:** Note: autofit does not expose a new public API function. **New function:** `lxw_error worksheet_insert_checkbox(lxw_worksheet *worksheet,` ` lxw_row_t row, lxw_col_t col,` ` uint8_t value);` **Code Example:** `#include "xlsxwriter.h"` `int main() {` ` lxw_workbook *workbook = workbook_new("checkbox.xlsx");` ` lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);` ` /* Insert checkboxes */` ` worksheet_insert_checkbox(worksheet, 0, 0, LXW_FALSE); /* Unchecked */` ` worksheet_insert_checkbox(worksheet, 1, 0, LXW_TRUE); /* Checked */` ` worksheet_insert_checkbox(worksheet, 2, 0, 0); /* Unchecked */` ` worksheet_insert_checkbox(worksheet, 3, 0, 1); /* Checked */` ` return workbook_close(workbook);` `}` <img width="102" height="132" alt="Image" src="https://github.com/user-attachments/assets/796422bf-b235-48c9-a4cf-7b3ffcf25ea2" />
gitea-mirror added the
feature request
short term
labels 2026-05-05 12:14:37 -06:00
Author
Owner

@jmcnamara commented on GitHub (Jan 12, 2026):

This is a useful feature and, from memory, wasn't too difficult to implement in Python/Rust so I will look at doing this.

<!-- gh-comment-id:3737786383 --> @jmcnamara commented on GitHub (Jan 12, 2026): This is a useful feature and, from memory, wasn't too difficult to implement in Python/Rust so I will look at doing this.
Author
Owner

@kruftindustries commented on GitHub (Jan 13, 2026):

Ready for review

<!-- gh-comment-id:3742161289 --> @kruftindustries commented on GitHub (Jan 13, 2026): Ready for review
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#394
No description provided.