溫馨提示×

如何利用C++ Excel庫實現(xiàn)數(shù)據(jù)的導(dǎo)入導(dǎo)出

c++
小樊
85
2024-08-29 23:08:51
欄目: 編程語言

要使用 C++ 操作 Excel 文件,可以使用一些第三方庫,例如:xlnt、SimpleXlsxWriter、libxlsxwriter 等。這里我們以 xlnt 為例,介紹如何實現(xiàn)數(shù)據(jù)的導(dǎo)入導(dǎo)出。

  1. 首先,確保已經(jīng)安裝了 xlnt 庫。在 Windows 上,你可以使用 vcpkg 來安裝:
vcpkg install xlnt
  1. 然后,在項目中包含 xlnt 頭文件:
#include <xlnt/xlnt.hpp>
  1. 接下來,編寫代碼實現(xiàn)數(shù)據(jù)的導(dǎo)入和導(dǎo)出功能。
  • 導(dǎo)入:從 Excel 文件讀取數(shù)據(jù)并輸出到控制臺。
void import_data(const std::string &file_path)
{
    // 加載 Excel 文件
    xlnt::workbook wb;
    wb.load(file_path);

    // 獲取第一個工作表
    xlnt::worksheet ws = wb.active_sheet();

    // 遍歷工作表中的所有單元格并輸出內(nèi)容
    for (auto row : ws.rows())
    {
        for (auto cell : row)
        {
            std::cout<< cell.to_string() << " ";
        }
        std::cout<< std::endl;
    }
}
  • 導(dǎo)出:將數(shù)據(jù)寫入到 Excel 文件。
void export_data(const std::string &file_path)
{
    // 創(chuàng)建一個新的工作簿
    xlnt::workbook wb;

    // 創(chuàng)建一個新的工作表
    xlnt::worksheet ws = wb.active_sheet();

    // 向工作表中添加數(shù)據(jù)
    ws.cell("A1").value("Hello");
    ws.cell("B1").value("World");
    ws.cell("A2").value(42);
    ws.cell("B2").value(3.14);

    // 保存工作簿到文件
    wb.save(file_path);
}
  1. 最后,在主函數(shù)中調(diào)用這兩個函數(shù):
int main()
{
    const std::string input_file_path = "input.xlsx";
    const std::string output_file_path = "output.xlsx";

    import_data(input_file_path);
    export_data(output_file_path);

    return 0;
}

這樣,你就可以使用 C++ 和 xlnt 庫實現(xiàn) Excel 數(shù)據(jù)的導(dǎo)入和導(dǎo)出功能了。注意,這里的示例僅演示了基本功能,實際應(yīng)用中可能需要根據(jù)需求進(jìn)行更復(fù)雜的操作。

0