创建工作表时,MS Excel 使用的默认字体是“Calibri”,大小为 11,颜色为黑色。但是,有时您可能想要应用不同的字体样式(例如粗体、斜体)来优化文档的外观,或者设置独特的字体颜色以突出显示大量数据中的有用信息。在本文中,您将学习如何使用 Spire.XLS for C++ 以编程方式将多种字体样式应用于 Excel 单元格。
安装 Spire.XLS for C++
有两种方法可以将 Spire.XLS for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.XLS for C++ 集成到 C++ 程序中
将不同的字体应用于不同的 Excel 单元格
Spire.XLS for C++ 提供的 ExcelFont 类允许您轻松设置或更改单元格中的字体名称、颜色、大小和样式。以下是将不同字体应用于 Excel 中不同单元格的步骤。
- 创建 Workbook 对象。
- 使用 Workbook->GetWorksheets()->Get() 方法获取特定的工作表。
- 使用 Worksheet->GetRange() 方法获取指定的单元格。
- 使用 CellRange->SetText() 方法设置单元格的值。
- 使用 CellRange->GetStyle()->GetFont() 方法获取指定单元格中的字体。
- 使用 ExcelFont 类下的方法设置字体名称、颜色、大小和样式。
- 使用 Workbook->SaveToFile() 方法保存结果文件。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main() {
//指定输出文件路径和名称
std::wstring outputPath = L"OUTPUT\\";
std::wstring outputFile = outputPath + L"应用字体到单元格.xlsx";
//创建工作簿对象
Workbook* workbook = new Workbook();
//获取第一个工作表
Worksheet* sheet = workbook->GetWorksheets()->Get(0);
//设置字体名称
sheet->GetRange(L"B1")->SetText(L"字体名称:宋体");
sheet->GetRange(L"B1")->GetStyle()->GetFont()->SetFontName(L"宋体");
//设置字体大小
sheet->GetRange(L"B2")->SetText(L"字体大小:25");
sheet->GetRange(L"B2")->GetStyle()->GetFont()->SetSize(25);
//将文本设置为粗体
sheet->GetRange(L"B3")->SetText(L"字体样式:加粗");
sheet->GetRange(L"B3")->GetStyle()->GetFont()->SetIsBold(true);
//给文本添加下划线
sheet->GetRange(L"B4")->SetText(L"字体样式:下划线");
sheet->GetRange(L"B4")->GetStyle()->GetFont()->SetUnderline(FontUnderlineType::Single);
//设置字体颜色
sheet->GetRange(L"B5")->SetText(L"字体颜色:蓝色");
sheet->GetRange(L"B5")->GetStyle()->GetFont()->SetColor(Spire::Common::Color::GetBlue());
//将文本设置为斜体
sheet->GetRange(L"B6")->SetText(L"字体样式:斜体");
sheet->GetRange(L"B6")->GetStyle()->GetFont()->SetIsItalic(true);
//在文本中添加删除线
sheet->GetRange(L"B7")->SetText(L"字体样式:删除线");
sheet->GetRange(L"B7")->GetStyle()->GetFont()->SetIsStrikethrough(true);
//保存结果文档
workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013);
workbook->Dispose();
}
将多个字体应用于单个 Excel 单元格
在一个单元格中混合使用不同的字体可以帮助您强调某些特定的字符。以下是在 Excel 单元格中应用多种字体的步骤。
- 创建 Workbook对象。
- 使用 Workbook->GetWorksheets()->Get() 方法获取特定的工作表。
- 使用 Workbook->CreateExcelFont() 方法创建两个 ExcelFont 对象。
- 使用 Worksheet->GetRange() 方法获取指定的单元格,然后使用 CellRange->GetRichText()->SetText() 方法设置单元格的富文本内容。
- 使用 RichText->SetFont(int startPos, int endPos, ExcelFont* font) 方法将两个 ExcelFont 对象应用于富文本。
- 使用 Workbook->SaveToFile() 方法保存结果文件。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main() {
//指定输出文件路径和名称
std::wstring outputPath = L"OUTPUT\\";
std::wstring outputFile = outputPath + L"将多个字体应用于单元格.xlsx";
//创建工作簿对象
Workbook* workbook = new Workbook();
//获取第一个工作表
Worksheet* sheet = workbook->GetWorksheets()->Get(0);
//创建ExcelFont对象并设置其字体样式、颜色和大小
ExcelFont* font1 = workbook->CreateExcelFont();
font1->SetKnownColor(ExcelColors::Red);
font1->SetIsBold(true);
font1->SetIsItalic(true);
font1->SetSize(15);
//创建另一个ExcelFont对象并设置其字体样式、颜色和大小
ExcelFont* font2 = workbook->CreateExcelFont();
font2->SetKnownColor(ExcelColors::LightBlue);
font2->SetIsBold(true);
font2->SetFontName(L"宋体");
font2->SetSize(13);
//将RichText字符串写入单元格B5
RichText* richText = sheet->GetRange(L"B5")->GetRichText();
richText->SetText(L"Spire.XLS for C++是一款专业且独立的 C++ Excel 组件。");
//将两种字体应用于单元格B5中的文本
richText->SetFont(0, 16, font1);
richText->SetFont(17, 39, font2);
//保存结果文档
workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013);
workbook->Dispose();
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。