/*
 * @Author: ybzhou yibo.zhou@lnxall.com
 * @Date: 2025-07-16 12:40:53
 * @LastEditors: ybzhou yibo.zhou@lnxall.com
 * @LastEditTime: 2025-07-16 19:51:06
 * @FilePath: /2025.07.09/proto_forward/src/automatic_north/xlsx_api.h
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
#ifndef __XLSX_API_H__
#define __XLSX_API_H__

#include "xlsxwriter_compat.h"
#include "north_automatic.h"

lxw_format *create_center_format(lxw_workbook *workbook, int font_size);
lxw_format *create_center_bold_format(lxw_workbook *workbook, int font_size);
lxw_format *create_center_bold_bg_format(lxw_workbook *workbook, lxw_color_t bg_color, int font_size);
lxw_format *create_left_format(lxw_workbook *workbook, int font_size);
lxw_format *create_left_bold_format(lxw_workbook *workbook, int font_size);
#if 0
lxw_format *create_left_bold_bg_format(lxw_workbook *workbook, lxw_color_t bg_color, int font_size);
#endif

void write_string_cell(lxw_worksheet *worksheet, int row, int col, const char *string, lxw_format *format);
void write_number_cell(lxw_worksheet *worksheet, int row, int col, double number, lxw_format *format);
void set_column_width(lxw_worksheet *worksheet, int first_col, int last_col, double width);
void set_row_height(lxw_worksheet *worksheet, int row, double height);
void merge_cells(lxw_worksheet *worksheet, int first_row, int first_col, int last_row, int last_col, const char *data, lxw_format *format);

// xlsx表首页
int xlsx_home_page(lxw_workbook *workbook, n_protocol_type_t type, home_page_t *home_page, int num);

char* add_dynamic_desc(const char *tagname);
#endif
