VS將數據保存在excel表格中


參考鏈接轉載自: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");

另外第三方庫的鏈接中有提供樣例和源碼,樣例很明了。建議代碼上有什么語法問題可以參考一下。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM