温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++怎么实现将数据写入Excel工作表

发布时间:2023-03-11 10:51:16 阅读:163 作者:iii 栏目:开发技术
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

今天小编给大家分享一下C++怎么实现将数据写入Excel工作表的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

安装Spire.XLS for C++

有两种方法可以将 Spire.XLS for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。

在 C++ 应用程序中集成 Spire.XLS for C++

在 C++ 中将文本或数字值写入单元格

Spire.XLS for C++ 提供了 Workbook 类和 Worksheet 类,分别表示 Excel 文档和工作表。 用户可以使用 Worksheet->GetRange(int row, int column) 方法访问特定的单元格。然后,使用 CellRange->SetText() 或 CellRange->SetNumberValue() 方法为单元格分配一个文本值或数字值。以下是详细步骤:

  • 创建一个Workbook对象。

  • 使用 Workbook->GetWorksheets()->Get() 方法获取第一个工作表。

  • 使用 Worksheet->GetRange(int row, int column) 方法获取特定单元格。

  • 使用 CellRange->SetText() 或 CellRange->SetNumberValue() 方法将文本值或数字值添加到指定的单元格。

  • 使用 Workbook->SaveToFile() 方法将工作簿保存到 Excel 文件。

完整代码

C++

#include "Spire.Xls.o.h";

using namespace Spire::Xls;

int main() {

    //指定输出文件路径和名称
    std::wstring outputPath = L"输出\\";
    std::wstring outputFile = outputPath + L"将单个值写入单元格.xlsx";

    //创建一个Workbook对象
    Workbook* workbook = new Workbook();

    //获取第一个工作表
    Worksheet* sheet = workbook->GetWorksheets()->Get(0);

    //将文本和数字写入指定的单元格
    sheet->GetRange(11)->SetText(L"名字");
    sheet->GetRange(12)->SetText(L"年龄");
    sheet->GetRange(13)->SetText(L"部门");
    sheet->GetRange(14)->SetText(L"入职日期");
    sheet->GetRange(11)->SetText(L"名字");
    sheet->GetRange(21)->SetText(L"谢殊");
    sheet->GetRange(22)->SetNumberValue(29);
    sheet->GetRange(23)->SetText(L"市场部");
    sheet->GetRange(24)->SetText(L"2018-02-26");
    sheet->GetRange(31)->SetText(L"李强");
    sheet->GetRange(32)->SetNumberValue(30);
    sheet->GetRange(33)->SetText(L"人力资源部");
    sheet->GetRange(34)->SetText(L"2017-07-13");
    sheet->GetRange(41)->SetText(L"高阳");
    sheet->GetRange(42)->SetNumberValue(35);
    sheet->GetRange(43)->SetText(L"策划部");
    sheet->GetRange(44)->SetText(L"2015-04-01");

    //自动调整列宽
    sheet->GetAllocatedRange()->AutoFitColumns();

    //将样式应用于第一行
    CellStyle* style = workbook->GetStyles()->Add(L"newStyle");
    style->GetFont()->SetIsBold(true);
    sheet->GetRange(1114)->SetStyle(style);

    //保存文件
    workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2016);
    workbook->Dispose();
}

效果图

C++怎么实现将数据写入Excel工作表

在 C++ 中将数组写入指定的单元格范围

Spire.XLS for C++ 提供了 Worksheet->InsertArray() 方法,它允许程序员将向量写入工作表的指定单元格范围。在将数组写入工作表之前,您需要将它们转换为向量。将数组写入工作表的步骤如下:

  • 创建一个Workbook对象。

  • 使用 Workbook->GetWorksheets()->Get() 方法获取第一个工作表。

  • 创建一个数组并将其转换为一个向量或多个向量。

  • 使用 Worksheet->InsertArray() 方法将向量插入工作表。

  • 使用 Workbook->SaveToFile() 方法将工作簿保存到 Excel 文件。

完整代码

C++

#include "Spire.Xls.o.h";

using namespace Spire::Xls;
using namespace std;

int main() {

    //指定输出文件路径和名称
    wstring outputPath = L"输出\\";
    wstring outputFile = outputPath + L"将数组写入指定的单元格范围.xlsx";

    //创建一个Workbook对象
    Workbook* workbook = new Workbook();

    //获取第一个工作表
    Worksheet* sheet = workbook->GetWorksheets()->Get(0);

    //创建一维数组
    wstring oneDimensionalArray[6] = { L"一月"L"二月"L"三月"L"四月"L"五月"L"六月" };

    //将数组转换为向量
    vector<LPCWSTR> vec;
    for (size_t i = 0; i < sizeof(oneDimensionalArray) / sizeof(oneDimensionalArray[0]); i++)
    {
        vec.push_back(oneDimensionalArray[i].c_str());
    }

    //将向量插入工作表
    sheet->InsertArray(vec, 11false);

    //创建一个二维数组
    wstring twoDimensionalArray[4][5] = {
        {L"姓名"L"年龄"L"性别"L"部门."L"联系方式."},
        {L"李刚"L"25"L"男"L"广告部"L"835256"},
        {L"刘兴桐"L"24"L"女"L"运营策划部"L"835583"},
        {L"陈海波"L"26"L"男"L"销售部"L"834176"}
    };

    //获取行号和列号
    int rowNum = sizeof(twoDimensionalArray) / sizeof(twoDimensionalArray[0]);
    int columnNum = sizeof(twoDimensionalArray[0]) / sizeof(twoDimensionalArray[0][0]);

    //将二维数组拆分为多个一维向量
    for (size_t i = 0; i < rowNum; i++)
    {
        vector<LPCWSTR> vec_temp;
        for (size_t j = 0; j < columnNum; j++)
        {
            vec_temp.push_back(twoDimensionalArray[i][j].c_str());
        }

        //将向量插入工作表
        sheet->InsertArray(vec_temp, 4 + i, 1false);
    }

    //自动调整列宽
    sheet->GetAllocatedRange()->AutoFitColumns();

    //将样式应用于第一行
    CellStyle* style = workbook->GetStyles()->Add(L"newStyle");
    style->GetFont()->SetIsBold(true);
    sheet->GetRange(1116)->SetStyle(style);
    sheet->GetRange(4145)->SetStyle(style);

    //保存文件
    workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2016);
    workbook->Dispose();
}

效果图

C++怎么实现将数据写入Excel工作表

以上就是“C++怎么实现将数据写入Excel工作表”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://www.cnblogs.com/Yesi/p/17203906.html

AI

开发者交流群×