Convert Excel worksheet to image in Xamarin.iOS
Syncfusion Essential® XlsIO is a .NET Excel library used to create, read, and edit Excel documents. Using this library, you can convert an Excel worksheet to an image in Xamarin.iOS.
Steps to convert an Excel worksheet to an image programmatically:
- Create a new C# Xamarin iOS application project.
- Select a project template and select the minimum iOS version and device support for the application.
- Install the Syncfusion.Xamarin.XlsIORenderer , Syncfusion.Xamarin.Pdf and SkiaSharp NuGet packages as a reference to the .NET Standard project in your Xamarin applications from NuGet.org.
- In project add new UIViewController class.
i)In AppDelegate.cs add the following code on FinishedLaunching() to load the UIViewController1 at top of the window.
// Load the UIViewController for UI Window Window.RootViewController = new UIViewController1();
ii)In UIViewController1.cs add the following code in the ViewDidLoad() method to add the button in the UIView.
var btn = UIButton.FromType(UIButtonType.System); btn.Frame = new CoreGraphics.CGRect(20, 200, 280, 44); btn.SetTitle("Generate Excel Document", UIControlState.Normal); btn.TouchUpInside += OnButtonClicked; View.AddSubview(btn);
- Include the following namespace in the UIViewController1.cs file.
using Syncfusion.XlsIO;
- In the click event method (OnButtonClicked) add the following code to create an Excel file and save it in a stream.
// Create an instance of ExcelEngine. using (ExcelEngine excelEngine = new ExcelEngine()) { IApplication application = excelEngine.Excel; // Set the default application version as Excel 2013. application.DefaultVersion = ExcelVersion.Excel2013; Assembly executingAssembly = typeof(UIViewController1).GetTypeInfo().Assembly; Stream inputStream = executingAssembly.GetManifestResourceStream("Blank.sample.xlsx"); IWorkbook workbook = application.Workbooks.Open(inputStream); // Access the first worksheet from the workbook instance. IWorksheet worksheet = workbook.Worksheets[1]; // Initialize XlsIORenderer application.XlsIORenderer = new XlsIORenderer(); // Create a new memory stream to save the image MemoryStream stream = new MemoryStream(); // Convert worksheet to image and save it to stream. worksheet.ConvertToImage(worksheet.UsedRange, stream); workbook.Close(); // Save the stream as a file in the device and invoke it for viewing SaveIOS saveIOS = new SaveIOS(); saveIOS.SaveAndView("output.png", "image/png", stream); }
- Add the SaveIOS class to the project where the stream will be saved to a physical file and the file can be opened for viewing.
The code for SaveIOS class has been given below.
class SaveIOS { // Method to save document as a file and view the saved document public async Task SaveAndView(string filename, string contentType, MemoryStream stream) { // Get the root path in iOS device. string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal); string filePath = Path.Combine(path, filename); // Create a file and write the stream into it. FileStream fileStream = File.Open(filePath, FileMode.Create); stream.Position = 0; stream.CopyTo(fileStream); fileStream.Flush(); fileStream.Close(); // Invoke the saved document for viewing UIViewController currentController = UIApplication.SharedApplication.KeyWindow.RootViewController; while (currentController.PresentedViewController != null) currentController = currentController.PresentedViewController; UIView currentView = currentController.View; QLPreviewController qlPreview = new QLPreviewController(); QLPreviewItem item = new QLPreviewItemBundle(filename, filePath); qlPreview.DataSource = new PreviewControllerDS(item); currentController.PresentViewController(qlPreview, true, null); } }
To preview the Excel document in QuickLook, PreviewControllerDS, QLPreviewItemFileSystem and QLPreviewItemBundle classes have to be added in the project. The code for these helper classes can be found from this link (iOS -> PreviewControllerDS.cs).
- Compile and execute the application. Now this application converts a simple Excel document to image.
A complete working example to convert Excel worksheet to image in Xamarin.iOS can be downloaded from Worksheet-to-Image.zip.
By executing the program, you will get the Excel file as follows.
Know more about Essential XlsIO through the documentation, where you can find more information of Worksheet to Image conversion with respective code examples and prerequisite.
Refer here to explore the rich set of Syncfusion Essential® XlsIO features.
Note:
Starting with v16.2.0.x, if you reference Syncfusion® assemblies from a trial setup or from the NuGet feed, include a license key in your projects. Refer to the link to learn about generating and registering the Syncfusion® license key in your application to use the components without a trial message.
Conclusion
I hope you enjoyed learning about Convert Excel worksheet to image in Xamarin.iOS.
You can refer to our XIsIO’s feature tour page to learn about its other groundbreaking features. Explore our UG documentation and online demos to understand how to manipulate data in Excel documents.
If you are an existing user, you can access our latest components from the License and Downloads page. For new users, you can try our 30-day free trial to check out XlsIO and other Syncfusion® components.
If you have any queries or require clarification, please let us know in the comments below or contact us through our support forums, Support Tickets, or feedback portal. We are always happy to assist you!