Create Workbook and Worksheet Scoped Named Ranges with C++
Microsoft Excel allows users to define named ranges with two different scopes: workbook (also known as global scope) and worksheet.
- Named ranges with a workbook scope can be accessed from any worksheet within that workbook by simply using its name.
- Worksheet scoped named ranges are accessed with the reference of the particular worksheet in which it was created.
Aspose.Cells provides the same functionality as Microsoft Excel for adding workbook and worksheet scoped named ranges. When creating a worksheet scoped named range, the worksheet reference should be used in the named range to specify it as a worksheet scoped named range.
Adding a Named Range with Workbook Scoped
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Create a new Workbook object
Workbook workbook;
// Get the first worksheet of the workbook
Worksheet sheet = workbook.GetWorksheets().Get(0);
// Get worksheet's cells collection
Cells cells = sheet.GetCells();
// Create a range of Cells from Cell A1 to C10
Range workbookScope = cells.CreateRange(u"A1", u"C10");
// Assign the name to workbook scope named range
workbookScope.SetName(u"workbookScope");
// Save the workbook
workbook.Save(srcDir + u"WorkbookScope.out.xlsx");
std::cout << "Workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Adding a Named Range with Worksheet Scope
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Create a new Workbook object
Workbook workbook;
// Get the first worksheet of the workbook
Worksheet sheet = workbook.GetWorksheets().Get(0);
// Get worksheet's cells collection
Cells cells = sheet.GetCells();
// Create a range of Cells
Range localRange = cells.CreateRange(u"A1", u"C10");
// Assign name to range with sheet reference
localRange.SetName(u"Sheet1!local");
// Save the workbook
U16String outputFilePath = u"..\\Data\\02_OutputDirectory\\output.out.xls";
workbook.Save(outputFilePath);
std::cout << "Workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}