Tuesday, June 21, 2016

Microsoft Dynamics NAV 2016 - Save Export to Excel

Hi All,

If you remember we discussed in Past about Saving Excel File in NAV 2013 R2. This article is Re-writing the Same Article for Microsoft Dynamics NAV 2016.

If you are looking for same solution for Microsoft Dynamics NAV 2013 and NAV 2013 R2 please refer article -  NAV 2013 & NAV 2013 R2 - Save Export to Excel

This article discuss the steps required for Microsoft Dynamics NAV 2016.

1. SETUP -

Create a New Field in Table 409 SMTP Mail Setup for Specifying the Path. Add the Field on Page 409 SMTP Mail Setup as shown below.

2. Code Changes -

Changes in Table 370 Excel Buffer -

a. Created Two Functions CreateBookAndSaveExcel & SaveExcel.

b. Function CreateBookAndSaveExcel Definition- 
 * Copy of CreateBookandOpenExcel with some code changed.


c. Function SaveExcel Definition.

IF OpenUsingDocumentService('') THEN

IF NOT PreOpenExcel THEN

FileNameClient := FileManagement.DownloadTempFile(FileNameServer);
FileNameClient := FileManagement.MoveAndRenameClientFile(FileNameClient,'Book1.xlsx',SmtpSetup."Save Excel Report");
Variables in Function Save Excel-

Name               DataType         Subtype
FileNameClient Text
SmtpSetup         Record           SMTP Mail Setup

3. Let's Execute By Running the Report with new Function.

Create a new report which export data from customer table and save the File is the path specified in the SMTP Setup. As shown below instead of using CreateBookAndOpenExcel we use CreateBookAndSaveExcel.

And once we execute the Report, the report is saved in the Path where we setup in the SMTP Setup.

Objects can be downloaded from - Dynamics User Group or Skydrive.

File Name  - NAV 2016_Save to Excel

** If you are planning to merge it on a custom database then the attachment have before and after the text files are available in the download files.

You can also make it more generic by passing File Name from the Report Itself.

Your comments and feedback are welcome. Stay tuned for more.

Saurav Dhyani

No comments:

Post a Comment