Использование параметра Formula в умном маркере

Возможные сценарии использования

Иногда вы хотите вставить формулу в умный маркер. В этой статье описано, как использовать параметр Formula для вставки формулы в умный маркер.

Использование параметра Formula в умном маркере

В следующем образце кода встраивается формула в умный маркер с именем TestFormula, и его исходные данные называются MyDataSource, поэтому поле с параметром формулы выглядит как &=MyDataSource.TestFormula(formula), и после выполнения кода конечный файл Excel будет содержать формулы в ячейках с A1 по A5.

Образец кода

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Create a datatable and add column named TestFormula
DataTable dt = new DataTable();
dt.Columns.Add("TestFormula");
//Create first row with formula (which basically concatenates three strings)
DataRow dr = dt.NewRow();
dr["TestFormula"] = "=\"01-This \" & \"is \" & \"concatenation\"";
dt.Rows.Add(dr);
//Create second row like above
dr = dt.NewRow();
dr["TestFormula"] = "=\"02-This \" & \"is \" & \"concatenation\"";
dt.Rows.Add(dr);
//Create third row like above
dr = dt.NewRow();
dr["TestFormula"] = "=\"03-This \" & \"is \" & \"concatenation\"";
dt.Rows.Add(dr);
//Create fourth row like above
dr = dt.NewRow();
dr["TestFormula"] = "=\"04-This \" & \"is \" & \"concatenation\"";
dt.Rows.Add(dr);
//Create fifth row like above
dr = dt.NewRow();
dr["TestFormula"] = "=\"05-This \" & \"is \" & \"concatenation\"";
dt.Rows.Add(dr);
//Set the name of the data table
dt.TableName = "MyDataSource";
//Create a workbook
Workbook wb = new Workbook();
//Access first worksheet
Worksheet ws = wb.Worksheets[0];
//Put the smart marker field with formula parameter in cell A1
ws.Cells["A1"].PutValue("&=MyDataSource.TestFormula(Formula)");
//Create workbook designer, set data source and process it
WorkbookDesigner wd = new WorkbookDesigner(wb);
wd.SetDataSource(dt);
wd.Process();
//Save the workbook in xlsx format
wb.Save(outputDir + "outputUsingFormulaParameterInSmartMarkerField.xlsx");