C 和 JSON 是兩種流行的編程語言和數(shù)據(jù)格式,它們被廣泛使用在數(shù)據(jù)交互和存儲中。
而 Excel 則是一個廣泛使用的表格處理軟件,在日常工作和數(shù)據(jù)分析中扮演著重要的角色。
在某些場景下,需要將 JSON 數(shù)據(jù)轉(zhuǎn)換成 Excel 表格,以便更方便地查看和處理數(shù)據(jù)。
//使用C語言進(jìn)行JSON轉(zhuǎn)Excel #include#include #include int main() { // 讀取JSON數(shù)據(jù) FILE *fp = fopen("test.json", "r"); char buffer[1024]; struct json_object *parsed_json; parsed_json = json_object_from_file("test.json"); // 創(chuàng)建Excel文件 lxw_workbook *workbook = workbook_new("output.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); // 處理JSON數(shù)據(jù),并將結(jié)果寫入Excel表格中 int row = 0, col = 0; json_object_object_foreach(parsed_json, key, val) { // 寫入列名 worksheet_write_string(worksheet, row, col, key, NULL); col++; // 寫入數(shù)據(jù) if (json_object_is_type(val, json_type_string)){ worksheet_write_string(worksheet, row + 1, col - 1, json_object_get_string(val), NULL); } else if (json_object_is_type(val, json_type_int)){ worksheet_write_number(worksheet, row + 1, col - 1, json_object_get_int(val), NULL); } else if (json_object_is_type(val, json_type_double)){ worksheet_write_number(worksheet, row + 1, col - 1, json_object_get_double(val), NULL); } } // 關(guān)閉文件 fclose(fp); workbook_close(workbook); return 0; }
上面的代碼通過調(diào)用 json-c 和 libxlsxwriter 庫實現(xiàn)了將 JSON 數(shù)據(jù)轉(zhuǎn)換為 Excel 表格的功能。
首先使用 json_object_from_file 函數(shù)將 JSON 文件讀取到內(nèi)存中,然后創(chuàng)建 Excel 文件并獲取工作表對象。
接著遍歷 JSON 數(shù)據(jù)的每一個鍵值對,使用 worksheet_write_string 和 worksheet_write_number 函數(shù)將數(shù)據(jù)寫入表格中。
最后,關(guān)閉文件并釋放內(nèi)存。