创建或编辑 Excel 文件时,用户可能需要操作工作表以使文件符合其特定需求。例如,他们可能需要添加新的工作表来记录不同类别的数据,移动或重新排列工作表以确保数据按逻辑顺序显示,或者删除包含不必要信息或错误的工作表。在本文中,我们将阐述如何使用 Spire.XLS for C++ 在 Excel 中添加、移动或删除工作表。
安装 Spire.XLS for C++
有两种方法可以将 Spire.XLS for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.XLS for C++ 集成到 C++ 程序中
将工作表添加到 Excel 文件
您可以使用 Workbook->GetWorksheets()->Add(LPCWSTR_S name) 方法将新工作表添加到 Excel 文件中。具体步骤如下:
- 初始化 Workbook 类的实例。
- 使用 Workbook->LoadFromFile(LPCWSTR_S fileName) 方法加载 Excel 文件。
- 使用 Workbook->GetWorksheets()->Add(LPCWSTR_S name) 方法将具有特定名称的新工作表添加到Excel文件中。
- 使用 Worksheet->GetCellRange(LPCWSTR_S name)->SetText(LPCWSTR_S value) 方法将文本添加到工作表的特定单元格。
- 使用 Workbook->SaveToFile(LPCWSTR_S fileName, ExcelVersion version) 方法将结果文件保存到特定位置。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main()
{
//初始化Workbook类的实例
intrusive_ptr<Workbook> workbook = new Workbook();
//加载Excel文件
workbook->LoadFromFile(L"示例文档.xlsx");
//将具有特定名称的新工作表添加到文件中
intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Add(L"新工作表"));
//将文本添加到工作表
dynamic_pointer_cast<CellRange>(sheet->GetRange(L"B1"))->SetText(L"这是一个新的工作表。");
//自动调整第二列的宽度
sheet->AutoFitColumn(2);
//保存结果文件
workbook->SaveToFile(L"添加工作表.xlsx", ExcelVersion::Version2013);
workbook->Dispose();
}
将工作表移动到 Excel 文件中的另一个位置
Spire.XLS for C++ 提供了 XlsWorksheet->MoveWorksheet(int destIndex) 方法,该方法可以让您轻松地将工作表从 Excel 文件中的一个位置移动到另一个位置。具体步骤如下:
- 初始化 Workbook 类的实例。
- 使用 Workbook->LoadFromFile(LPCWSTR_S fileName) 方法加载 Excel 文件。
- 使用 Workbook->GetWorksheets()->Get(int index) 方法获取需要移动的工作表。
- 使用 XlsWorksheet->MoveWorksheet(int destIndex) 方法将工作表移动到 Excel 文件中的特定位置。
- 使用 Workbook->SaveToFile(LPCWSTR_S fileName, ExcelVersion version) 方法将结果文件保存到特定位置。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main()
{
//初始化Workbook类的实例
intrusive_ptr<Workbook> workbook = new Workbook();
//加载Excel文件
workbook->LoadFromFile(L"添加工作表.xlsx");
//获取需要移动的工作表
intrusive_ptr<Worksheet> sheet = dynamic_pointer_cast<Worksheet>(workbook->GetWorksheets()->Get(1));
//将工作表移动到Excel文件中的第一个位置
sheet->MoveWorksheet(0);
//保存结果文档
workbook->SaveToFile(L"移动工作表.xlsx", ExcelVersion::Version2013);
workbook->Dispose();
}
从 Excel 文件中删除工作表
从 Excel 文件中删除工作表也很简单,只需调用 Workbook->GetWorksheets()->RemoveAt(int index) 方法即可。具体步骤如下:
- 初始化 Workbook 类的实例。
- 使用 Workbook->LoadFromFile(LPCWSTR_S fileName) 方法加载 Excel 文件。
- 使用 Workbook->GetWorksheets()->RemoveAt(int index) 方法,通过索引从 Excel 文件中删除特定的工作表。
- 使用 Workbook->SaveToFile(LPCWSTR_S fileName, ExcelVersion version) 方法将结果文件保存到特定位置。
- C++
#include "Spire.Xls.o.h";
using namespace Spire::Xls;
int main()
{
//初始化Workbook类的实例
intrusive_ptr<Workbook> workbook = new Workbook();
//加载Excel文件
workbook->LoadFromFile(L"添加工作表.xlsx");
//使用工作表索引从Excel文件中删除第二个工作表
workbook->GetWorksheets()->RemoveAt(1);
//保存结果文档
workbook->SaveToFile(L"删除工作表.xlsx", ExcelVersion::Version2013);
workbook->Dispose();
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。