Is it possible to convert excel to another file type in workflow?

  • 18 June 2015
  • 3 replies
  • 25 views

Badge +2

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?

 

Thanks,

BJ


3 replies

Userlevel 6
Badge +16

I don't know how you want to show your workbook, but consider showing your excel using the Excel REST API that can manage some formats.

Badge +2

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.

Thanks,

BJ

Userlevel 1
Badge +5

Hi BJ,

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

Thanks,

Majid

Reply