PRODUCT_NAME_ALT

Merge XLSM to PNG for Free in swift

Use a free app or Swift SDK to merge XLSM and PNG, along with several popular formats from Microsoft® Excel.

Swift Code for Merging XLSM Files into PNG: A Complete Guide

// Converting XLSM to HTML
let cellsApi = try CellsAPI(clientId: "YOUR_APP_SID", clientSecret: "YOUR_APP_KEY");
let expectation = self.expectation(description: "testcellsSaveAsPostDocumentSaveAs")
let name:String = file.XLSM
let saveOptions:SaveOptions? = SaveOptions(enableHTTPCompression: nil, saveFormat: "HTML", clearData: nil, cachedFileFolder: nil, validateMergedAreas: nil, refreshChartCache: nil, createDirectory: nil, sortNames: nil, calculateFormula: nil, checkFontCompatibility: nil, onePagePerSheet: true, compliance: nil, defaultFont: nil, printingPageType: nil, imageType: nil, desiredPPI: nil, jpegQuality: nil, securityOptions: nil)
let newfilename:String = "file"
let isAutoFitRows:Bool? = true
let isAutoFitColumns:Bool? = true
let folder:String = TEMPFOLDER
let storageName:String? = nil            
uploadFile(name: name) {
    CellsAPI.cellsSaveAsPostDocumentSaveAs(name: name, saveOptions: saveOptions, newfilename: newfilename, isAutoFitRows: isAutoFitRows, isAutoFitColumns: isAutoFitColumns, folder: folder, storageName: storageName)
    {
        (response, error) in
        guard error == nil else {
            let errorinfo = self.GetErrorDataInfo(error: error as! ErrorResponse)
            print("error info: \(errorinfo!)")
            return
        }

        if let response = response {
            expectation.fulfill()
        }
    }
}
self.waitForExpectations(timeout: testTimeout, handler: nil)

// Converting HTML to PNG
let cellsApi = try CellsAPI(clientId: "YOUR_APP_SID", clientSecret: "YOUR_APP_KEY");
let expectation = self.expectation(description: "testcellsSaveAsPostDocumentSaveAs")
let name:String = file.HTML
let saveOptions:SaveOptions? = SaveOptions(enableHTTPCompression: nil, saveFormat: "PNG", clearData: nil, cachedFileFolder: nil, validateMergedAreas: nil, refreshChartCache: nil, createDirectory: nil, sortNames: nil, calculateFormula: nil, checkFontCompatibility: nil, onePagePerSheet: true, compliance: nil, defaultFont: nil, printingPageType: nil, imageType: nil, desiredPPI: nil, jpegQuality: nil, securityOptions: nil)
let newfilename:String = "file"
let isAutoFitRows:Bool? = true
let isAutoFitColumns:Bool? = true
let folder:String = TEMPFOLDER
let storageName:String? = nil            
uploadFile(name: name) {
    CellsAPI.cellsSaveAsPostDocumentSaveAs(name: name, saveOptions: saveOptions, newfilename: newfilename, isAutoFitRows: isAutoFitRows, isAutoFitColumns: isAutoFitColumns, folder: folder, storageName: storageName)
    {
        (response, error) in
        guard error == nil else {
            let errorinfo = self.GetErrorDataInfo(error: error as! ErrorResponse)
            print("error info: \(errorinfo!)")
            return
        }

        if let response = response {
            expectation.fulfill()
        }
    }
}
self.waitForExpectations(timeout: testTimeout, handler: nil)

How to Megre XLSM to PNG in Cloud Apps

  1. Initialize WordsApi with Client Id, Client Secret, Base URL & API version
  2. Set requestDocument assign the local XLSM file name
  3. Set requestDocumentListDocumentEntriesFileReference and assign local PNG file name
  4. Set requestDocumentListDocumentEntries and set file_reference, import_format_mode parameters
  5. Create DocumentEntryList instance and assing requestDocumentListDocumentEntries to document_entries parameter
  6. Call AppendDocumentOnlineRequest to merge XLSM file with PNG document requestDocument and requestDocumentList
  7. Call WordsApi appendDocumentOnline with parameters

Get Started with Aspose.Total REST APIs

  1. Create an account at Dashboard to get free API quota & authorization details
  2. Get Aspose.Words and Aspose.Cells Cloud SDKs for Swift source code from Aspose.Words GitHub and Aspose.Cells GitHub repos to compile/use the SDK yourself or head to the Releases for alternative download options.
  3. Also have a look at Swagger-based API Reference for Aspose.Words and Aspose.Cells to know more about the REST API.

FAQ

  • What is XLSM Format?
    Files with XLSM extension is a type of Spreadsheet files that support Macros. From application point of view, a Macro is set of instructions that are used for automating processes. A macro is used to record the steps that are performed repeatedly and facilitates performing the actions by running the macro again. Macros are programmed with Microsoft’s Visual Basic for Applications (VBA) from within the Excel Workbook using the Visual Basic Editor and can be run/debug directly from there.
  • What is PNG Format?
    PNG, Portable Network Graphics, refers to a type of raster image file format that use loseless compression. This file format was created as a replacement of Graphics Interchange Format (GIF) and has no copyright limitations. However, PNG file format does not support animations. PNG file format supports loseless image compression that makes it popular among its users. With the passage of time, PNG has evolved as one of the mostly used image file format.
  • How can I get started with Aspose.Total REST APIs?
    Quickstart not only guides through the initialization of Aspose.Total Cloud API, it also helps in installing the required libraries.
  • Where can I see the release notes for Aspose.Total Cloud API?
    Complete release notes can be reviewed at Aspose.Total Cloud Documentation.
  • Is it safe to merge XLSM to PNG in the Cloud?
    Of course! Aspose Cloud uses Amazon EC2 cloud servers that guarantee the security and resilience of the service. Please read more about Aspose's Security Practices.
  • What file formats are supported by Aspose.Total Cloud API?
    Aspose.Total Cloud can merge file formats from any product family to any other product family to PDF, DOCX, XPS, image(TIFF, JPEG, PNG BMP), MD and more. Checkout the complete list of supported file formats.
  • I can not find the SDK for my favorite language. What should I do?
    Aspose.Total Cloud is also available as a Docker Container. Try using it with cURL in case your required SDK is not available yet.