libxlsxwriter
Loading...
Searching...
No Matches
output_buffer.c
<< constant_memory.c image_buffer.c >>

Example of using libxlsxwriter to write a workbook file to a memory buffer.

/*
* Example of using libxlsxwriter to write a workbook file to a memory buffer.
*
* Copyright 2014-2024, John McNamara, jmcnamara@cpan.org
*
*/
#include <stdio.h>
#include "xlsxwriter.h"
int main() {
const char *output_buffer;
size_t output_buffer_size;
/* Set the worksheet options. */
lxw_workbook_options options = {.output_buffer = &output_buffer,
.output_buffer_size = &output_buffer_size,
.constant_memory = LXW_FALSE,
.tmpdir = NULL,
.use_zip64 = LXW_FALSE};
/* Create a new workbook with options. */
lxw_workbook *workbook = workbook_new_opt(NULL, &options);
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
worksheet_write_string(worksheet, 0, 0, "Hello", NULL);
worksheet_write_number(worksheet, 1, 0, 123, NULL);
lxw_error error = workbook_close(workbook);
if (error)
return error;
/* Do something with the XLSX data in the output buffer. */
FILE *file = fopen("output_buffer.xlsx", "wb");
fwrite(output_buffer, output_buffer_size, 1, file);
fclose(file);
free((void *)output_buffer);
return ferror(stdout);
}
lxw_error
Error codes from libxlsxwriter functions.
Definition: common.h:66
@ LXW_FALSE
Definition: common.h:52
Workbook options.
Definition: workbook.h:269
const char ** output_buffer
Definition: workbook.h:280
Struct to represent an Excel workbook.
Definition: workbook.h:293
Struct to represent an Excel worksheet.
Definition: worksheet.h:2115
lxw_workbook * workbook_new_opt(const char *filename, lxw_workbook_options *options)
Create a new workbook object, and set the workbook options.
lxw_error workbook_close(lxw_workbook *workbook)
Close the Workbook object and write the XLSX file.
lxw_worksheet * workbook_add_worksheet(lxw_workbook *workbook, const char *sheetname)
Add a new worksheet to a workbook.
lxw_error worksheet_write_string(lxw_worksheet *worksheet, lxw_row_t row, lxw_col_t col, const char *string, lxw_format *format)
Write a string to a worksheet cell.
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.