excel 电子表格是基于网格的文档,用于以有组织的方式组织信息。世界各地的人们都使用电子表格来创建表格,以满足商业或个人需求。多年来,excel 电子表格在简化繁琐的数据管理过程方面发挥了重要作用。在本文中,您将学习如何使用 spire.xls for c 创建 excel 文档,以及如何将数据写入 excel 工作表。
安装spire.xls for c
有两种方法可以将 spire.xls for c 集成到您的应用程序中。一种方法是通过 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 nuget 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
在 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对象
intrusive_ptr workbook = new workbook();
//获取第一个工作表
intrusive_ptr sheet = dynamic_pointer_cast(workbook->getworksheets()->get(0));
//将文本和数字写入指定的单元格
sheet->getrange(1, 1)->settext(l"名字");
sheet->getrange(1, 2)->settext(l"年龄");
sheet->getrange(1, 3)->settext(l"部门");
sheet->getrange(1, 4)->settext(l"入职日期");
sheet->getrange(1, 1)->settext(l"名字");
sheet->getrange(2, 1)->settext(l"安欣");
sheet->getrange(2, 2)->setnumbervalue(29);
sheet->getrange(2, 3)->settext(l"市场部");
sheet->getrange(2, 4)->settext(l"2018-02-26");
sheet->getrange(3, 1)->settext(l"李响");
sheet->getrange(3, 2)->setnumbervalue(30);
sheet->getrange(3, 3)->settext(l"人力资源部");
sheet->getrange(3, 4)->settext(l"2017-07-13");
sheet->getrange(4, 1)->settext(l"高启强");
sheet->getrange(4, 2)->setnumbervalue(35);
sheet->getrange(4, 3)->settext(l"策划部");
sheet->getrange(4, 4)->settext(l"2015-04-01");
//自动调整列宽
sheet->getallocatedrange()->autofitcolumns();
//将样式应用于第一行
intrusive_ptr style = dynamic_pointer_cast(workbook->getstyles()->add(l"newstyle"));
style->getfont()->setisbold(true);
sheet->getrange(1, 1, 1, 4)->setstyle(style);
//保存文件
workbook->savetofile(outputfile.c_str(), excelversion::version2016);
workbook->dispose();
}
在 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对象
intrusive_ptr workbook = new workbook();
//获取第一个工作表
intrusive_ptr sheet = dynamic_pointer_cast(workbook->getworksheets()->get(0));
//创建一维数组
wstring onedimensionalarray[6] = { l"一月", l"二月", l"三月", l"四月", l"五月", l"六月" };
//将数组转换为向量
vector vec;
for (size_t i = 0; i < sizeof(onedimensionalarray) / sizeof(onedimensionalarray[0]); i )
{
vec.push_back(onedimensionalarray[i].c_str());
}
//将向量插入工作表
sheet->insertarray(vec, 1, 1, false);
//创建一个二维数组
wstring twodimensionalarray[4][5] = {
{l"姓名", l"年龄", l"性别", l"部门.", l"凯发线上登陆下载网址的联系方式."},
{l"李玉", l"25", l"女", l"广告部", l"835285"},
{l"高韵锦", l"24", l"男", l"运营策划部", l"835569"},
{l"陈书婷", l"26", l"女", l"销售部", l"834152"}
};
//获取行号和列号
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 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, 1, false);
}
//自动调整列宽
sheet->getallocatedrange()->autofitcolumns();
//将样式应用于第一行
intrusive_ptr style = dynamic_pointer_cast(workbook->getstyles()->add(l"newstyle"));
style->getfont()->setisbold(true);
sheet->getrange(1, 1, 1, 6)->setstyle(style);
sheet->getrange(4, 1, 4, 5)->setstyle(style);
//保存文件
workbook->savetofile(outputfile.c_str(), excelversion::version2016);
workbook->dispose();
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。