Изменения в открытом API в Aspose.Cells 16.10.0
Добавленные API
Поддержка эффектов отражения
Aspose.Cells 16.10.0 представил класс ReflectionEffect вместе с свойством Shape.Reflection для управления отражением объекта Shape. Класс ReflectionEffect имеет следующие свойства.
- ReflectionEffect.Blur: Получает/устанавливает радиус размытия в единицах точек.
- ReflectionEffect.Direction: Получает/устанавливает направление альфа-градиента относительно самой формы.
- ReflectionEffect.Distance: Получает/устанавливает расстояние отражения в единицах точек.
- ReflectionEffect.FadeDirection: Получает/устанавливает направление смещения отражения.
- ReflectionEffect.RotWithShape: Получает/устанавливает, должно ли отражение вращаться вместе с формой.
- ReflectionEffect.Size: Получает/устанавливает конечную позицию (вдоль альфа-градиента) конечного значения альфа в процентах.
- ReflectionEffect.Transparency: Получает/устанавливает степень начальной прозрачности отражения в виде значения от 0,0 (непрозрачный) до 1,0 (прозрачный).
- ReflectionEffect.Type: Получает/устанавливает предустановленный эффект отражения.
Вот простой сценарий использования свойства Shape.Reflection.
C#
// Load a sample spreadsheet containing a shape
// Alternatively create a new spreadsheet and add a shape
var book = new Workbook("sample.xlsx");
// Access first worksheet from the collection
var sheet = book.Worksheets[0];
// Access first shape from the collection
var shape = sheet.Shapes[0];
// Get the instance of ReflectionEffect from the Shape object
var reflection = shape.Reflection;
// Set its Blur, Size, Transparency and Distance properties
reflection.Blur = 30;
reflection.Size = 90;
reflection.Transparency = 0.5;
reflection.Distance = 80;
// Save the result in XLSX format
book.Save("output.xlsx");
Поддержка эффектов тени
Aspose.Cells 16.10.0 представил свойство Shape.ShadowEffect вместе с классом ShadowEffect, которые вместе позволяют устанавливать эффект тени на объект Shape. Класс ShadowEffect имеет следующие свойства.
- ShadowEffect.Angle: Получает/устанавливает угол освещения в пределах от 0 до 359,9 градусов.
- ShadowEffect.Blur: Получает и устанавливает размытие тени в пределах от 0 до 100 точек.
- ShadowEffect.Color: Получает/устанавливает цвет тени.
- ShadowEffect.Distance: Получает/устанавливает расстояние тени в пределах от 0 до 200 точек.
- ShadowEffect.PresetType: Получает/устанавливает предустановленный тип тени тени.
- ShadowEffect.Size: Получает/устанавливает размер тени в пределах от 0 до 2,0. Будет бессмысленным в случае внутренней тени.
- ShadowEffect.Transparency: Получает/устанавливает степень прозрачности тени в пределах от 0,0 (непрозрачный) до 1,0 (прозрачный).
Вот простой сценарий использования упомянутого свойства.
C#
// Load a sample spreadsheet containing a shape
// Alternatively create a new spreadsheet and add a shape
var book = new Workbook("sample.xlsx");
// Access first worksheet from the collection
var sheet = book.Worksheets[0];
// Access first shape from the collection
var shape = sheet.Shapes[0];
// Get the instance of ShadowEffect from the Shape object
var shadow = shape.ShadowEffect;
// Set its Angle, Blur, Size, Transparency and Distance properties
shadow.Angle = 150;
shadow.Blur = 30;
shadow.Size = 90;
shadow.Transparency = 0.5;
shadow.Distance = 80;
// Save the result in XLSX format
book.Save("output.xlsx");
Поддержка эффектов свечения
Aspose.Cells 16.10.0 добавил свойство Shape.Glow вместе с классом GlowEffect, которые вместе позволяют установить эффект свечения объекта формы. Класс GlowEffect указывает свечение, в котором цветной размытый контур добавляется снаружи краев объекта с использованием следующих свойств.
- GlowEffect.Size: Получает/устанавливает радиус свечения в единицах точек.
- GlowEffect.Transparency: Получает/устанавливает степень прозрачности свечения от 0.0 (непрозрачный) до 1.0 (прозрачный).
Вот простой сценарий использования свойства Shape.Glow.
C#
// Load a sample spreadsheet containing a shape
// Alternatively create a new spreadsheet and add a shape
var book = new Workbook("sample.xlsx");
// Access first worksheet from the collection
var sheet = book.Worksheets[0];
// Access first shape from the collection
var shape = sheet.Shapes[0];
// Get the instance of GlowEffect from the Shape object
var glow = shape.Glow;
// Set its Size & Transparency properties
glow.Size = 90;
glow.Transparency = 0.5;
// Save the result in XLSX format
book.Save("output.xlsx");
Поддержка формата 3D
Aspose.Cells 16.10.0 добавил свойство Shape.ThreeDFormat вместе с классом ThreeDFormat, что вместе можно использовать для управления форматированием 3D объекта формы. Класс ThreeDFormat представляет трехмерное форматирование формы и имеет следующие свойства.
- ThreeDFormat.BottomBevelHeight: Получает/устанавливает высоту нижней фаски или насколько далеко она применяется к форме, в единицах точек.
- ThreeDFormat.BottomBevelType: Получает/устанавливает тип нижней фаски или насколько далеко она применяется к форме, в единицах точек.
- ThreeDFormat.BottomBevelWidth: Получает/устанавляет ширину нижней фаски или насколько далеко она применяется к форме, в единицах точек.
- ThreeDFormat.ContourColor: Получает/устанавливает цвет контура формы.
- ThreeDFormat.ContourWidth: Получает/устанавливает ширину контура на форме, в единицах точек.
- ThreeDFormat.ExtrusionColor: Получает цвет выдавливания на форме.
- ThreeDFormat.ExtrusionHeight: Получает/устанавливает высоту выдавливания, применяемую к форме, в единицах точек.
- ThreeDFormat.LightAngle: Получает/устанавливает угол светового выдавливания.
- ThreeDFormat.Lighting: Получает/устанавливает тип источника света.
- ThreeDFormat.LightingDirection: Получает/устанавливает направление, откуда ориентирован источник света относительно сцены.
- ThreeDFormat.Material: Представляет предустановленный материал, который в сочетании с освещением дает окончательный внешний вид и ощущение формы.
- ThreeDFormat.Perspective: Получает/устанавливает угол, под которым объект ThreeDFormat может быть просмотрен.
- ThreeDFormat.PresetCameraType: Получает/устанавливает предустановленную камеру экструзии.
- ThreeDFormat.RotationX: Получает/устанавливает вращение выдавленной формы вокруг оси X в градусах.
- ThreeDFormat.RotationY: Получает/устанавливает вращение выдавленной формы вокруг оси Y в градусах.
- ThreeDFormat.RotationZ: Получает/устанавливает вращение выдавленной формы вокруг оси Z в градусах.
- ThreeDFormat.TopBevelHeight: Получает/устанавливает высоту верхней фаски или расстояние, на которое она применяется к форме, в пунктах.
- ThreeDFormat.TopBevelType: Получает/устанавливает тип верхней фаски или расстояние, на которое она применяется к форме, в пунктах.
- ThreeDFormat.TopBevelWidth: Получает/устанавливает ширину верхней фаски или расстояние, на которое она применяется к форме, в пунктах.
- ThreeDFormat.Z: Задает расстояние от земли для 3D-формы.
Ниже приведен простой сценарий использования свойства Shape.ThreeDFormat.
C#
// Load a sample spreadsheet containing a shape
// Alternatively create a new spreadsheet and add a shape
var book = new Workbook("sample.xlsx");
// Access first worksheet from the collection
var sheet = book.Worksheets[0];
// Access first shape from the collection
var shape = sheet.Shapes[0];
// Get the instance of ThreeDFormat from the Shape object
var threeD = shape.ThreeDFormat;
// Set its ContourWidth & ExtrusionHeight properties
threeD.ContourWidth = 15;
threeD.ExtrusionHeight = 30;
// Save the result in XLSX format
book.Save("output.xlsx");
Поддержка стилей WordArt в тексте формы
Aspose.Cells 16.10.0 добавил методы FontSettingCollection.SetWordArtStyle и FontSetting.SetWordArtStyle для установки предустановленного стиля WordArt в тексте объекта Shape.
Вот пример простого сценария использования указанных выше методов.
C#
// Create workbook object
var book = new Workbook();
// Access first worksheet from the collection
var sheet = book.Worksheets[0];
// Create a TextBox with some text
var textBox = sheet.Shapes.AddTextBox(0, 0, 0, 0, 100, 700);
textBox.Text = "Aspose File Format APIs";
textBox.Font.Size = 44;
// Set preset WordArt style to the text of the shape
FontSetting fntSetting = textBox.GetCharacters()[0] as FontSetting;
fntSetting.SetWordArtStyle(PresetWordArtStyle.WordArtStyle3);
Поддержка встроенных стилей WordArt
Aspose.Cells 16.10.0 добавил метод ShapeCollection.AddWordArt вместе с перечислением PresetWordArtStyle для добавления поддержки предустановленных объектов WordArt начиная с Excel 2007.
Ниже приведен простой сценарий использования метода ShapeCollection.AddWordArt.
C#
// Create an instance of Workbook
var book = new Workbook();
// Access first worksheet from the collection
var sheet = book.Worksheets[0];
// Access ShapeCollection of first worksheet
var shapes = sheet.Shapes;
// Add WordArt with built-in styles
shapes.AddWordArt(PresetWordArtStyle.WordArtStyle1, "Aspose File Format APIs", 00, 0, 0, 0, 100, 800);
shapes.AddWordArt(PresetWordArtStyle.WordArtStyle2, "Aspose File Format APIs", 10, 0, 0, 0, 100, 800);
shapes.AddWordArt(PresetWordArtStyle.WordArtStyle3, "Aspose File Format APIs", 20, 0, 0, 0, 100, 800);
shapes.AddWordArt(PresetWordArtStyle.WordArtStyle4, "Aspose File Format APIs", 30, 0, 0, 0, 100, 800);
shapes.AddWordArt(PresetWordArtStyle.WordArtStyle5, "Aspose File Format APIs", 40, 0, 0, 0, 100, 800);
// Save the result in XLSX format
book.Save("output.xlsx");
Добавлен метод XmlMapCollection.Add
Aspose.Cells теперь предоставляет метод XmlMapCollection.Add, позволяющий добавлять Xml Map в электронную таблицу. Вот простой сценарий использования метода XmlMapCollection.Add.
C#
// Create an instance of Workbook
var book = new Workbook();
// Add xml map from the sample.xml to the workbook
book.Worksheets.XmlMaps.Add("sample.xml");
Добавлен метод Cells.LinkToXmlMap
Aspose.Cells теперь предоставляет метод Cells.LinkToXmlMap для связи ячеек с элементами XML-карты.
Вот простой сценарий использования метода Cells.LinkToXmlMap.
C#
// Load a sample spreadsheet in an instance of Workbook
var book = new Workbook("sample.xlsx");
// Access the XML Map from the spreadsheet
var map = book.Worksheets.XmlMaps[0];
// Access first worksheet from the collection
var sheet = book.Worksheets[0];
// Map FIELD1 and FIELD2 to cell A1 and B2
sheet.Cells.LinkToXmlMap(map.Name, 0, 0, "/root/row/FIELD1");
sheet.Cells.LinkToXmlMap(map.Name, 1, 1, "/root/row/FIELD2");
// Map FIELD4 and FIELD5 to cell C3 and D4
sheet.Cells.LinkToXmlMap(map.Name, 2, 2, "/root/row/FIELD4");
sheet.Cells.LinkToXmlMap(map.Name, 3, 3, "/root/row/FIELD5");
// Map FIELD7 and FIELD8 to cell E5 and F6
sheet.Cells.LinkToXmlMap(map.Name, 4, 4, "/root/row/FIELD7");
sheet.Cells.LinkToXmlMap(map.Name, 5, 5, "/root/row/FIELD8");
Добавлено свойство ListColumn.Formula
Aspose.Cells 16.10.0 предоставляет свойство ListColumn.Formula для автоматической передачи формулы в новые вставленные строки.
Вот простой сценарий использования свойства ListColumn.Formula.
C#
// Create an instance of Workbook
var book = new Workbook();
// Access first worksheet from the collection
var sheet = book.Worksheets[0];
// Add column headings in cell A1 and B1
sheet.Cells[0, 0].PutValue("Column A");
sheet.Cells[0, 1].PutValue("Column B");
// Add list object, set its name and style
var listObject = sheet.ListObjects[sheet.ListObjects.Add(0, 0, 1, sheet.Cells.MaxColumn, true)];
listObject.TableStyleType = TableStyleType.TableStyleMedium2;
listObject.DisplayName = "Table";
// Set the formula of second column so that it could automatically propagate to new rows while entering data
listObject.ListColumns[1].Formula = "=[Column A] + 1";
// Save the result in XLSX format
book.Save("output.xlsx");
Поддержка вычисления пользовательских функций с GridWeb
Aspose.Cells.GridWeb 16.10.0 теперь предоставляет свойство GridWeb.CustomCalculationEngine вместе с классом GridAbstractCalculationEngine, что вместе позволяет определять и вычислять пользовательские функции в компоненте GridWeb.
Вот простой сценарий использования упомянутых API.
C#
private class GridWebCustomCalculationEngine : GridAbstractCalculationEngine
{
public override void Calculate(GridCalculationData data)
{
// Calculate MYTESTFUNC() with your own logic.
//For example, you can multiply MYTESTFUNC() parameter with 2 so
// MYTESTFUNC(3.0) will return 6
// MYTESTFUNC(4.0) will return 8
// MYTESTFUNC(5.0) will return 10
if ("MYTESTFUNC".Equals(data.FunctionName.ToUpper()))
{
data.CalculatedValue = (decimal)(2.0 * (double)data.GetParamValue(0));
}
}
}
if (Page.IsPostBack == false && GridWeb1.IsPostBack == false)
{
// Assign your own custom calculation engine to GridWeb
GridWeb1.CustomCalculationEngine = new GridWebCustomCalculationEngine();
// Access the active worksheet and add your custom function in cell B3
GridWorksheet sheet = GridWeb1.ActiveSheet;
GridCell cell = sheet.Cells["B3"];
cell.Formula = "=MYTESTFUNC(9.0)";
// Calculate the GridWeb formula
GridWeb1.CalculateFormula();
}