libxlsxwriter
format_num_format.c
<< format_font.c
tutorial1.c >>
Example of writing some data with numeric formatting to a simple Excel file using libxlsxwriter.
/*
* Example of writing some data with numeric formatting to a simple Excel file
* using libxlsxwriter.
*
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
*
*/
#include "xlsxwriter.h"
int
main() {
/* Create a new workbook and add a worksheet. */
lxw_workbook
*workbook =
workbook_new
(
"format_num_format.xlsx"
);
lxw_worksheet
*worksheet =
workbook_add_worksheet
(workbook, NULL);
/* Widen the first column to make the text clearer. */
worksheet_set_column
(worksheet, 0, 0, 30, NULL);
/* Add some formats. */
lxw_format
*format01 =
workbook_add_format
(workbook);
lxw_format
*format02 =
workbook_add_format
(workbook);
lxw_format
*format03 =
workbook_add_format
(workbook);
lxw_format
*format04 =
workbook_add_format
(workbook);
lxw_format
*format05 =
workbook_add_format
(workbook);
lxw_format
*format06 =
workbook_add_format
(workbook);
lxw_format
*format07 =
workbook_add_format
(workbook);
lxw_format
*format08 =
workbook_add_format
(workbook);
lxw_format
*format09 =
workbook_add_format
(workbook);
lxw_format
*format10 =
workbook_add_format
(workbook);
lxw_format
*format11 =
workbook_add_format
(workbook);
/* Set some example number formats. */
format_set_num_format
(format01,
"0.000"
);
format_set_num_format
(format02,
"#,##0"
);
format_set_num_format
(format03,
"#,##0.00"
);
format_set_num_format
(format04,
"0.00"
);
format_set_num_format
(format05,
"mm/dd/yy"
);
format_set_num_format
(format06,
"mmm d yyyy"
);
format_set_num_format
(format07,
"d mmmm yyyy"
);
format_set_num_format
(format08,
"dd/mm/yyyy hh:mm AM/PM"
);
format_set_num_format
(format09,
"0 \"dollar and\" .00 \"cents\""
);
/* Write data using the formats. */
worksheet_write_number
(worksheet, 0, 0, 3.1415926, NULL);
// 3.1415926
worksheet_write_number
(worksheet, 1, 0, 3.1415926, format01);
// 3.142
worksheet_write_number
(worksheet, 2, 0, 1234.56, format02);
// 1,235
worksheet_write_number
(worksheet, 3, 0, 1234.56, format03);
// 1,234.56
worksheet_write_number
(worksheet, 4, 0, 49.99, format04);
// 49.99
worksheet_write_number
(worksheet, 5, 0, 36892.521, format05);
// 01/01/01
worksheet_write_number
(worksheet, 6, 0, 36892.521, format06);
// Jan 1 2001
worksheet_write_number
(worksheet, 7, 0, 36892.521, format07);
// 1 January 2001
worksheet_write_number
(worksheet, 8, 0, 36892.521, format08);
// 01/01/2001 12:30 AM
worksheet_write_number
(worksheet, 9, 0, 1.87, format09);
// 1 dollar and .87 cents
/* Show limited conditional number formats. */
format_set_num_format
(format10,
"[Green]General;[Red]-General;General"
);
worksheet_write_number
(worksheet, 10, 0, 123, format10);
// > 0 Green
worksheet_write_number
(worksheet, 11, 0, -45, format10);
// < 0 Red
worksheet_write_number
(worksheet, 12, 0, 0, format10);
// = 0 Default color
/* Format a Zip code. */
format_set_num_format
(format11,
"00000"
);
worksheet_write_number
(worksheet, 13, 0, 1209, format11);
/* Close the workbook, save the file and free any memory. */
return
workbook_close
(workbook);
}
workbook_close
lxw_error workbook_close(lxw_workbook *workbook)
Close the Workbook object and write the XLSX file.
workbook_new
lxw_workbook * workbook_new(const char *filename)
Create a new workbook object.
format_set_num_format
void format_set_num_format(lxw_format *format, const char *num_format)
Set the number format for a cell.
lxw_worksheet
Struct to represent an Excel worksheet.
Definition:
worksheet.h:2107
lxw_format
Struct to represent the formatting properties of an Excel format.
Definition:
format.h:358
lxw_workbook
Struct to represent an Excel workbook.
Definition:
workbook.h:292
worksheet_write_number
lxw_error worksheet_write_number(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col, double number, lxw_format *format)
Write a number to a worksheet cell.
worksheet_set_column
lxw_error worksheet_set_column(lxw_worksheet *worksheet, lxw_col_t first_col, lxw_col_t last_col, double width, lxw_format *format)
Set the properties for one or more columns of cells.
workbook_add_worksheet
lxw_worksheet * workbook_add_worksheet(lxw_workbook *workbook, const char *sheetname)
Add a new worksheet to a workbook.
workbook_add_format
lxw_format * workbook_add_format(lxw_workbook *workbook)
Create a new Format object to formats cells in worksheets.
Copyright 2014-2022 John McNamara. Generated by
1.8.20