angularjs - Serving excel sheet (.xls) to browser for download using rails & angular -


i using spreadsheet gem generate .xls file. after writing file, trying send client browser download.

below code in rails

workbook = spreadsheet::workbook.new # constructed data file = "/path/to/file/sheet.xls" workbook.write file send_file file 

this file when opened contains expected data in ideal format.

below code in js:

customrestservice.custom_post("report",{report_data: angular.tojson($scope.report_data)},"download_xls",{}).then (data)->     if data       hiddenelement = document.createelement('a')       angular.element(document.body).append(hiddenelement)       hiddenelement.href = 'data:attachment/xls,' + encodeuri(data)       hiddenelement.target = '_blank'       hiddenelement.download = "report.xls"       hiddenelement.click()       hiddenelement.remove() 

but file getting downloaded in browser contains junk data. tried multiple solutions below:

  1. using send_data, instead of send_file
  2. generated xls data , wrote stringio object directly download
  3. constructed blob object in js, type "application/vnd.ms-excel" , trying download it.

all attempts failed, missing something. suggestions welcome.

filename = "/path/to/file/sheet.xls" tempfile = tempfile.new(filename) workbook = spreadsheet::workbook.new ... workbook.write(tempfile.path) send_file tempfile.path, :filename => filename 

Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -