匯入 libxlsxwriter
Podfile 檔案添加如下示例,終端cd到專案檔案夾,執行 pod install
pod 'libxlsxwriter'
參考
匯入頭檔案
#import <xlsxwriter/xlsxwriter.h>
創建Excel
- (void)createExcel1Random{ NSString *fileName = [[UIDevice jy_documentPath] stringByAppendingPathComponent:@"demo_k.xlsx"]; if ([[NSFileManager defaultManager] fileExistsAtPath:fileName] ) { [[NSFileManager defaultManager] removeItemAtPath:fileName error:nil]; } NSLog(@"fileName = %@",fileName); // 創建新xlsx檔案,路徑需要轉成c字串 lxw_workbook *workbook = workbook_new([fileName UTF8String]); // 創建一個sheet lxw_worksheet *worksheet = workbook_add_worksheet(workbook, [@"tem_data" UTF8String] ); ///設定列寬 worksheet_set_column(worksheet, COLS("A:A"), 1.5, NULL); ///序列 worksheet_set_column(worksheet, COLS("B:B"), 15, NULL); ///資料列 worksheet_set_column(worksheet, COLS("C:C"), 50, NULL); ///行高 worksheet_set_row(worksheet, 0, 10, nil); worksheet_set_row(worksheet, 1, 16.8, nil); worksheet_set_row(worksheet, 2, 16.8, nil); lxw_format *format = [self generalCellAttribute:workbook]; for (int i = 0; i < 20; i++) { NSString *ran = [[NSString jy_randomLetterAndNumber:26] uppercaseString]; uint32_t lxw_row_t = (uint32_t)(i); worksheet_write_string(worksheet, lxw_row_t + 1, 0 + 1, [[NSString stringWithFormat:@"%d",i+1] UTF8String], format); worksheet_write_string(worksheet, lxw_row_t + 1, 1 + 1, [ran UTF8String], format); } workbook_close(workbook); NSLog(@"fileName = %@",fileName); } /// 一般單元格樣式 /// @param workbook lxw_format - (lxw_format *)generalCellAttribute:(lxw_workbook *)workbook{ lxw_format *format = workbook_add_format(workbook); format_set_border(format, LXW_BORDER_THIN);// 邊框(四周):中寬邊框 // 加粗 format_set_bold(format); //顏色 format_set_font_color(format, LXW_COLOR_BLACK); // 水平居中 format_set_align(format, LXW_ALIGN_CENTER); //垂直居中 format_set_align(format, LXW_ALIGN_VERTICAL_CENTER); //設定單元格格式 /* format_set_num_format(format, "¥#,##0.00"); */ return format; }

- (void)createExcel2Random{ NSString *fileName = [[UIDevice jy_documentPath] stringByAppendingPathComponent:@"demo_k.xlsx"]; if ([[NSFileManager defaultManager] fileExistsAtPath:fileName] ) { [[NSFileManager defaultManager] removeItemAtPath:fileName error:nil]; } NSLog(@"fileName = %@",fileName); // 創建新xlsx檔案,路徑需要轉成c字串 lxw_workbook *workbook = workbook_new([fileName UTF8String]); // 創建一個sheet lxw_worksheet *worksheet = workbook_add_worksheet(workbook, [@"tem_data" UTF8String] ); ///設定列寬 worksheet_set_column(worksheet, COLS("A:A"), 1.5, NULL); ///序列 worksheet_set_column(worksheet, COLS("B:B"), 15, NULL); ///資料列 worksheet_set_column(worksheet, COLS("C:C"), 50, NULL); ///行高 worksheet_set_row(worksheet, 0, 10, nil); worksheet_set_row(worksheet, 1, 16.8, nil); worksheet_set_row(worksheet, 2, 16.8, nil); /*合并4個單元格,*/ worksheet_merge_range(worksheet, 1, 1, 2, 2, [@"合并單元格" UTF8String], [self mergeCellAttribute:workbook]); lxw_format *format = [self generalCellAttribute:workbook]; for (int i = 0; i < 20; i++) { NSString *ran = [[NSString jy_randomLetterAndNumber:26] uppercaseString]; uint32_t lxw_row_t = (uint32_t)(i); worksheet_write_string(worksheet, lxw_row_t + 3, 0 + 1, [[NSString stringWithFormat:@"%d",i+1] UTF8String], format); worksheet_write_string(worksheet, lxw_row_t + 3, 1 + 1, [ran UTF8String], format); } workbook_close(workbook); NSLog(@"fileName = %@",fileName); } /// 合并單元格樣式 /// @param workbook lxw_format - (lxw_format *)mergeCellAttribute:(lxw_workbook *)workbook{ lxw_format *merge_format = workbook_add_format(workbook); /* 為合并范圍配置格式,*/ //合并居中(左右) format_set_align(merge_format, LXW_ALIGN_CENTER); //合并居中(上下) format_set_align(merge_format, LXW_ALIGN_VERTICAL_CENTER); //字體加粗 format_set_bold(merge_format); //字體顏色 format_set_font_color(merge_format,LXW_COLOR_BLACK); //字體大小 format_set_font_size(merge_format, 16.0); //背景顏色 format_set_bg_color(merge_format, LXW_COLOR_GRAY); //邊框樣式 format_set_border(merge_format, LXW_BORDER_MEDIUM); return merge_format; }

相關格式
/* 創建新作業簿,*/ lxw_workbook *workbook = workbook_new("format_font.xlsx"); /* 添加作業表,*/ lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); /* 擴大第一列,使文本更清晰,*/ worksheet_set_column(作業表,0,0,20,NULL); /* 添加一些格式,*/ lxw_format *format1 = workbook_add_format(workbook); lxw_format *format2 = workbook_add_format(workbook); lxw_format *format3 = workbook_add_format(workbook); /* 為格式1設定粗體屬性,*/ format_set_bold(format1); /* 為格式2設定斜體屬性,*/ format_set_italic(format2); /* 為格式3設定粗體和斜體屬性,*/ format_set_bold(格式3); format_set_italic(format3); /*寫一些格式化的字串,*/ worksheet_write_string(作業表,0,0,“這是粗體”,格式1); worksheet_write_string(作業表,1,0,“這是斜體”,格式2); worksheet_write_string(作業表,2,0,“粗體和斜體”,格式3); /* 關閉作業簿,保存檔案并釋放任何記憶體,*/ workbook_close(作業簿);
匯出Excel
- (void)exportExcel{ NSString *filePath = [[UIDevice jy_documentPath] stringByAppendingPathComponent:@"demo_k.xlsx"]; if ([[NSFileManager defaultManager] fileExistsAtPath:filePath] ) { NSURL *url = [NSURL fileURLWithPath:filePath]; _documentController = [UIDocumentInteractionController interactionControllerWithURL:url]; _documentController.delegate = self; [self openDocumentMenu]; } else{ NSLog(@"沒有檔案"); } } - (void)openDocumentMenu{ [_documentController presentOptionsMenuFromRect:self.view.bounds inView:self.view animated:YES]; // 選單操作 }

官方檔案
libxlsxwriter 使用說明檔案
libxlsxwriter 使用檔案及示例
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/413211.html
標籤:iOS
