Releases: openize-com/openize-open-xml-sdk-net
v25.7.0
What's Changed
- Add Comprehensive Excel README Documentation by @fahadadeel in #32
- feat: Add conditional formatting support to Worksheet API by @fahadadeel in #33
Full Changelog: v25.6.2...v25.7.0
v25.6.2 - Enhanced Slide Objects Initialization
What's Changed
Following improvements were made in Openize.Slides Package:
-
Enhanced support for object initializers
Collections likeTextShapes
,Images
, andShapes
now support assignment via
new Slide { TextShapes = [...] }
while ensuring internal logic is applied. -
Property setters updated
List properties now re-add items viaAdd
methods to ensure proper validation, rendering, and parent-slide association. -
Internal assignment methods added
Methods likeSetPiesDirect(List<Pie>)
allow internal logic to bypass the public setter when needed (e.g., deserialization, cloning).
Full Changelog: v25.6.1...v25.6.2
v25.6.1 - Add word features
What's Changed
- Add new word features for v25.6.1 by @sabir-aspose in #29
Full Changelog: v25.6.0...v25.6.1
v25.6.0
What's Changed
- Add CSV and JSON Import/Export Functionality by @fahadadeel in #26
Full Changelog: v25.5.2...v25.6.0
v25.5.2
What's Changed
- Refactored animation methods into separate classes for better code organization.
- Introduced IAnimation interface for consistent animation generation logic.
- Improved maintainability and scalability of animation system.
- Prepared foundation for future animation customization and testing.
- Added new Bounce animation for dynamic visual effects.
Full Changelog: v25.5.1...v25.5.2
Add bounce animation to a rectangle shape
// Open an existing presentation from the specified file path
Openize.Slides.Presentation presentation = Openize.Slides.Presentation.Open("file.pptx");
// Create a new slide to add shapes and animations
Openize.Slides.Slide slide = new Openize.Slides.Slide();
// Create a new rectangle shape
Openize.Slides.Rectangle rectangle = new Openize.Slides.Rectangle();
// Set the animation type to Bounce
rectangle.Animation = Openize.Slides.Common.Enumerations.AnimationType.Bounce;
// Set rectangle dimensions and position
rectangle.Width = 300.0;
rectangle.Height = 300.0;
rectangle.X = 300.0;
rectangle.Y = 300.0;
// Draw the rectangle on the slide
slide.DrawRectangle(rectangle);
// Add the slide with the animated rectangle to the presentation
presentation.AppendSlide(slide);
// Save the updated presentation to disk (overwrites the existing file or saves to default location)
presentation.Save();
v25.5.1
What's Changed
- Support for creating word shapes with fill options and separate word elements to element wise classes by @sabir-aspose in #23
Full Changelog: v25.5.0...v25.5.1
Creating a shape with fill options
var doc = new Openize.Words.Document();
var body = new Openize.Words.Body(doc);
var shapeColors = new Openize.Words.IElements.ShapeFillColors();
shapeColors.Color1 = Openize.Words.IElements.Colors.Red;
shapeColors.Color2 = Openize.Words.IElements.Colors.Purple;
var shape = new Openize.Words.IElements.Shape(100, 100, 400, 400,
Openize.Words.IElements.ShapeType.Hexagone,
Openize.Words.IElements.ShapeFillType.Pattern,
shapeColors);
body.AppendChild(shape);
doc.Save("HexagoneShape.docx");
Creating a group shape having two connecting shapes with fill options
var doc = new Openize.Words.Document();
var body = new Openize.Words.Body(doc);
var diamond = new Openize.Words.IElements.Shape(0, 0, 200, 200,
Openize.Words.IElements.ShapeType.Diamond,
Openize.Words.IElements.ShapeFillType.Gradient,
new Openize.Words.IElements.ShapeFillColors());
var oval = new Openize.Words.IElements.Shape(300, 0, 200, 200,
Openize.Words.IElements.ShapeType.Ellipse,
Openize.Words.IElements.ShapeFillType.Pattern,
new Openize.Words.IElements.ShapeFillColors());
var groupShape = new Openize.Words.IElements.GroupShape(diamond, oval);
body.AppendChild(groupShape);
doc.Save("GroupShape.docx");
v25.5.0
What's Changed
- Add WorksheetPropertiesExtensions for Excel worksheet display settings by @fahadadeel in #19
Full Changelog: v25.4.2...v25.5.0
v25.4.2
Enhancements
- Two new animation effects were added: Spin and Zoom In.
- Fixed issues with assigning objects to the Float In animation to ensure consistent and expected behavior.
v25.4.1
What's Changed
- Support for modifications to word document metadata by @sabir-aspose in #16
Full Changelog: v25.4.0...v25.4.1
Usage Code Example
var document = new Openize.Words.Document("word.docx");
var oldProps = document.GetDocumentProperties();
var props = new Openize.Words.DocumentProperties();
// Helper to print and update
void UpdateProperty<T>(string name, T oldValue, T newValue, Action<T> setValue)
{
Console.WriteLine($"Old {name} : {oldValue}");
setValue(newValue);
Console.WriteLine($"New {name} : {newValue}");
}
// Update metadata
UpdateProperty("Title", oldProps.Title, "Updated Title", val => props.Title = val);
UpdateProperty("Subject", oldProps.Subject, "Updated Subject", val => props.Subject = val);
UpdateProperty("Description", oldProps.Description, "Updated Description", val => props.Description = val);
UpdateProperty("Creator", oldProps.Creator, "Updated Creator", val => props.Creator = val);
UpdateProperty("Keywords", oldProps.Keywords, "Updated.Keyword", val => props.Keywords = val);
UpdateProperty("LastModifiedBy", oldProps.LastModifiedBy, "Updated.Openize.OpenXML-SDK", val => props.LastModifiedBy = val);
UpdateProperty("Revision", oldProps.Revision, "Version.Revised", val => props.Revision = val);
UpdateProperty("Created", oldProps.Created, oldProps.Created, val => props.Created = val);
var currentTime = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ");
UpdateProperty("Modified", oldProps.Modified, currentTime, val => props.Modified = val);
document.SetDocumentProperties(props);
document.Save("word2.docx");
v25.4.0
What's Changed
- Add Intuitive Freeze Panes Helper Methods by @fahadadeel in #14
Full Changelog: v25.3.2...v25.4.0