I am using excel service web part to display a single named tab excel workbook (13MB) on a site page that is horridly slow when trying to display the original .xlsm file in the site page. So I did some testing on the file extension and if the file is converted to an excel binary worksheet .xlsb the file size goes down to 4MB and loads in a snap on the page.
Is there any way to fire off a workflow to convert this file from .xlsm to xlsb when a user creates io modifies the file in a library?
I just want to display the first tab of the workbook in an excel services web part on a site page, but for some reason the default xlsm format takes over two and a half minutes to load, but when we use the same file but save the original file in the excel binary form, the site page loads in about 2 seconds. I want to show my workbook in the same site page, but don’t know if my user who uploads this original file to a site to display the latest data would know how to convert it before uploading it so that’s why I was looking at a workflow solution to maybe convert it once the file gets updated in SharePoint.
I believe the .XLSB is the binary format for the XML format of .XLSM and that's why it load faster as the size drop down a lot. Unfortunately there is no OOB Nintex workflow action that do the Excel file format conversion. Im not aware if Excel service have a web service to do the conversion. As the .XLSB is a compressed ZIP format for files and folders structure.
Form here, i believe you have 2 options:
1- You might try a service like Excel Spreadsheet REST API - Create & Convert Excel XLS XLSX to PDF HTML CSV XML in The Cloud and use the Web request action to connect to it and do the conversion.
2- or use a command line tool to do the conversion.
Hope that help