Inställningsformel för namngett intervall
Inställningsformel för namngett intervall
Precis som Excel-applikationen ger Aspose.Cells API:er möjligheten att ange en formel för ett namngivet intervall medan du använder dessRefererar tillfast egendom. Det kan finnas många användbarhetsscenarier för den här funktionen, av vilka några är detaljerade enligt följande.
Ställa in en enkel formel för namngiven intervall
En enkel formel kan vara en referens till en annan cell i samma (eller ett annat) kalkylblad. Följande exempel skapar ett namngivet intervall i ett nytt kalkylblad och anger dess referens till en annan cell.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create an instance of Workbook | |
Workbook book = new Workbook(); | |
// Get the WorksheetCollection | |
WorksheetCollection worksheets = book.Worksheets; | |
// Add a new Named Range with name "NewNamedRange" | |
int index = worksheets.Names.Add("NewNamedRange"); | |
// Access the newly created Named Range | |
Name name = worksheets.Names[index]; | |
// Set RefersTo property of the Named Range to a formula. Formula references another cell in the same worksheet | |
name.RefersTo = "=Sheet1!$A$3"; | |
// Set the formula in the cell A1 to the newly created Named Range | |
worksheets[0].Cells["A1"].Formula = "NewNamedRange"; | |
// Insert the value in cell A3 which is being referenced in the Named Range | |
worksheets[0].Cells["A3"].PutValue("This is the value of A3"); | |
// Calculate formulas | |
book.CalculateFormula(); | |
// Save the result in XLSX format | |
book.Save(dataDir + "output_out.xlsx"); |
Ställa in en komplex formel för namngiven intervall
En komplex formel kan vara vad som helst som ett dynamiskt område eller en formel som spänner över flera celler i olika kalkylblad. Följande exempel skapar ett dynamiskt område med hjälp av INDEX-funktionen för att hämta värdet från en lista baserat på dess plats.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create an instance of Workbook | |
Workbook book = new Workbook(); | |
// Get the WorksheetCollection | |
WorksheetCollection worksheets = book.Worksheets; | |
// Add a new Named Range with name "data" | |
int index = worksheets.Names.Add("data"); | |
// Access the newly created Named Range from the collection | |
Name data = worksheets.Names[index]; | |
// Set RefersTo property of the Named Range to a cell range in same worksheet | |
data.RefersTo = "=Sheet1!$A$1:$A$10"; | |
// Add another Named Range with name "range" | |
index = worksheets.Names.Add("range"); | |
// Access the newly created Named Range from the collection | |
Name range = worksheets.Names[index]; | |
// Set RefersTo property to a formula using the Named Range data | |
range.RefersTo = "=INDEX(data,Sheet1!$A$1,1):INDEX(data,Sheet1!$A$1,9)"; | |
// Save the workbook | |
book.Save(dataDir + "output_out.xlsx"); |
Här är ett annat exempel som använder ett namngivet intervall för att summera värden från 2 celler i olika kalkylblad.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create an instance of Workbook | |
Workbook book = new Workbook(); | |
// Get the WorksheetCollection | |
WorksheetCollection worksheets = book.Worksheets; | |
// Insert some data in cell A1 of Sheet1 | |
worksheets["Sheet1"].Cells["A1"].PutValue(10); | |
// Add a new Worksheet and insert a value to cell A1 | |
worksheets[worksheets.Add()].Cells["A1"].PutValue(10); | |
// Add a new Named Range with name "range" | |
int index = worksheets.Names.Add("range"); | |
// Access the newly created Named Range from the collection | |
Name range = worksheets.Names[index]; | |
// Set RefersTo property of the Named Range to a SUM function | |
range.RefersTo = "=SUM(Sheet1!$A$1,Sheet2!$A$1)"; | |
// Insert the Named Range as formula to 3rd worksheet | |
worksheets[worksheets.Add()].Cells["A1"].Formula = "range"; | |
// Calculate formulas | |
book.CalculateFormula(); | |
// Save the result in XLSX format | |
book.Save(dataDir + "output_out.xlsx"); |