In this blog, I am going to explain how we can export SSRS reports as Word Document. To know how we can execute SSRS reports, you can refer below blog:
To get SSRS report in word format, first we need to execute SSRS report, you can refer above link to execute report. Then we will get the response in which we will get ReportSession and ControlID. We will need these report session and control id to generate word document version of SSRS report.
Now, create a query string to get word version of SSRS report as follows:
let queryString = [Organization URI] + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + ReportSession + "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + ControlID + "&OpType=Export&FileName=public&ContentDisposition=OnlyHtmlInline&Format=DOCX";
Now, create request object that will be called to convert the response in DOCX base 64 string:
function fnConvertReportToWord(queryString){ var retrieveEntityReq = new XMLHttpRequest(); retrieveEntityReq.open("GET", queryString, true); retrieveEntityReq.setRequestHeader("Accept", "*/*"); retrieveEntityReq.responseType = "arraybuffer"; retrieveEntityReq.onreadystatechange = function () { // This is the call-back function. if (retrieveEntityReq.readyState == 4 && retrieveEntityReq.status == 200) { var binary = ""; var bytes = new Uint8Array(this.response); for (var i = 0; i < bytes.byteLength; i++) { binary += String.fromCharCode(bytes[i]); } //This is the base64 Word formatted string var base64WordString = btoa(binary); //Convert base64WordString to Data Url to open on browser var base64DataUrl = "data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64," + base64WordString; //open or download report in word format window.open(base64DataUrl); } }; //This statement sends the request for execution asynchronously. Callback function will be called on completion of the request. retrieveEntityReq.send(); }
You will get a data URL base64DataUrl of word version of SSRS report to print or download report in word format. You can use base64WordString to attach as an email attachments and send report as word document.
View Comments