Implement CSV export function

This commit is contained in:
2025-11-25 14:22:06 +08:00
parent 28728840a5
commit 87cc8637db
3 changed files with 198 additions and 7 deletions
+34 -6
View File
@@ -16,6 +16,8 @@ namespace CSV_Type
CSV_ERROR_COLUMN_NOT_FOUND, // 未查找到指定列
CSV_ERROR_ILLEGAL_COLUMN_POSITION, // 非法列位置
CSV_ERROR_ILLEGAL_CELL_POSITION, // 非法单元格位置
CSV_ERROR_FILE_CREATE_FAILED, // 文件创建失败
CSV_ERROR_FILE_WRITE_FAILED, // 文件写入失败
} CSV_Err;
}
@@ -23,8 +25,9 @@ namespace CSV_Type
class CSV_Table
{
protected:
size_t mem_use; // 存储占用
size_t column_count; // 列计数
size_t mem_use; // 存储占用
size_t column_count; // 列计数
size_t max_element_depth; // 最大元素深度
struct Column_List_Node_Struct
{
@@ -111,8 +114,8 @@ public:
/**
* @brief 在指定标题的列中指定单元格后插入
* @param target_column_title_str 目标列标题
* @param target_cell_position 目标位置
* @param title_name_str 插入的列标题
* @param target_cell_position 目标单元格位置
* @param cell_content_str 单元格内容串
* @return CSV_Err 错误类型
*/
CSV_Type::CSV_Err insert_cell_after(const char *target_column_title_str, size_t target_cell_position, const char *cell_content_str);
@@ -120,11 +123,36 @@ public:
/**
* @brief 在指定标题的列中指定单元格后插入
* @param target_column_title_str 目标列标题
* @param target_cell_position 目标位置
* @param title_name_str 插入的列标题
* @param target_cell_position 目标单元格位置
* @param cell_content_str 单元格内容串
* @return CSV_Err 错误类型
*/
CSV_Type::CSV_Err insert_cell_after(size_t target_column_position, size_t target_cell_position, const char *cell_content_str);
/**
* @brief 在指定标题的列中指定单元格前插入
* @param target_column_title_str 目标列标题
* @param target_cell_position 目标单元格位置
* @param cell_content_str 单元格内容串
* @return CSV_Err 错误类型
*/
CSV_Type::CSV_Err insert_cell_before(const char *target_column_title_str, size_t target_cell_position, const char *cell_content_str);
/**
* @brief 在指定标题的列中指定单元格前插入
* @param target_column_title_str 目标列标题
* @param target_cell_position 目标单元格位置
* @param cell_content_str 单元格内容串
* @return CSV_Err 错误类型
*/
CSV_Type::CSV_Err insert_cell_before(size_t target_column_position, size_t target_cell_position, const char *cell_content_str);
/**
* @brief 导出到指定文件
* @param file_name_str 目标文件名
* @return CSV_Err 错误类型
*/
CSV_Type::CSV_Err export_to_file(const char *file_name_str);
};
#endif