參考鏈接轉載自:https://blog.csdn.net/qq_28093585/article/details/78836821
我使用的第三方庫是
ExcelFormat Library: https://www.codeproject.com/Articles/42504/ExcelFormat-Library
軟件版本:VS2013
使用方法:
將源文件中的BasicExcel.cpp、BasicExcel.hpp、ExcelFormat.cpp、ExcelFormat.h直接加入到工程中。
此時編譯項目會報一個錯誤
解決辦法:
第一步:
第二步:
然后就可以正常調用這個第三方庫的源文件了。
下面的代碼是簡單的創建一個Excel表格,將數據保存到一個名為Test.xls文件。
我是將代碼分為了四個部分,分別放在不同的位置。不可直接copy編譯,可能會有未知的問題。
// Part1 #include "ExcelFormat.h" using namespace ExcelFormat; // save data into excel file at selected position // 將數據保存到選定位置的excel文件中 BasicExcel xls; BasicExcelWorksheet* sheet = NULL; BasicExcelCell* cell = NULL; int RowNum = 1; // 標題在第一行,數據從第二行開始保存,所以這里value為1而不是0 // Part2 // create sheet 1 and get the associated BasicExcelWorksheet pointer // 創建工作表1並獲取關聯的BasicExcelWorksheet指針 xls.New(1); sheet = xls.GetWorksheet(0); XLSFormatManager fmt_mgr(xls); // 設置Excel表格中的字體 ExcelFont font_bold; font_bold._weight = FW_BOLD; // 700 CellFormat fmt_bold(fmt_mgr); fmt_bold.set_font(font_bold); int col = 0, row = 0; //寫入第一行,也就是表頭 cell = sheet->Cell(row, col); cell->Set("序號"); cell->SetFormat(fmt_bold); ++col; cell = sheet->Cell(row, col); cell->Set("altitude"); cell->SetFormat(fmt_bold); ++col; cell = sheet->Cell(row, col); cell->Set("longitude"); cell->SetFormat(fmt_bold); ++col; cell = sheet->Cell(row, col); cell->Set("latitude"); cell->SetFormat(fmt_bold); col = 0; // Part3 int col = 0; sheet->Cell(RowNum, col)->Set(RowNum); ++col; sheet->Cell(RowNum, col)->Set(p->altitude); ++col; sheet->Cell(RowNum, col)->Set(p->longitude); ++col; sheet->Cell(RowNum, col)->Set(p->latitude); RowNum++; // Part4 xls.SaveAs("Test.xls");
另外第三方庫的鏈接中有提供樣例和源碼,樣例很明了。建議代碼上有什么語法問題可以參考一下。