Skip to main content

Navision Export To Excel with Merge Cell Function

Hi all,

While developing reports in classic client with Export to Excel Enabled, client wants to have Header cell merged. This is mostly faced issue.

Resolution -
What i did is that i added a function in Excel Buffer table which merge specified cell.

Function -

PROCEDURE MergeRange(FromRow : Integer;FromCol : Integer;ToRow : Integer;ToCol : Integer);
VAR
  FromRec : Record 370;
  ToRec : Record 370;
BEGIN
  FromRec.VALIDATE("Row No.",FromRow);
  FromRec.VALIDATE("Column No.",FromCol);
  ToRec.VALIDATE("Row No.",ToRow);
  ToRec.VALIDATE("Column No.",ToCol);
  XlWrkSht.Range(FromRec.xlColID + FromRec.xlRowID + ':' + ToRec.xlColID + ToRec.xlRowID).Merge;
END;



Function Definition -

1) Function contain 4 Parameters - From Row No, From Column No, To Row No, To Column No., which specify the Cells that need to merge.

2) After you created the sheet and before you save it away or give the user control call that function.

As per Promod Request here is a sample example of how to use the function-

* Its just a sample code where i hardcoded the column and Row Numbers, you can change it to dynamic as per your requirment.

This is what i was getting output earlier using this function -


Now what i wanted is to merge the cells so Blog name comes in one cell. Below is the code that i have written in my report.


And here is the output that i get after that -


@pramod patil i hope this is what you wanted. Let me know if you have any issues.

Thanks & Regards,
Saurav Dhyani
http://saurav-nav.blogspot.in/

Comments

  1. Very Help Full Dude......!
    Regards
    Shravan Kumar
    Nav Developer
    Hyderabad,Ind

    ReplyDelete
  2. Plz send how to use this code. I can't use it I face error at run time when I call this code!

    ReplyDelete
    Replies
    1. Hi Pramod -

      I have updated the Blog entry. Let me know if you have any issues.

      Delete
  3. Thanks, I was use your code, its work very nice!
    But, I want to assign FromRow,FromCol,ToRow,ToCol dynamically. So how I do this?

    ReplyDelete
    Replies
    1. Hi Pramod,

      Can you explain me the exact issue.

      If possible drop me the object at postsaurav@gmail.com, i will have a look.

      Also please explain the whole issue in mail.

      Regards,
      Saurav

      Delete
    2. Thanks friend. Actually I want to add Message after completion of records.SO how we find row number dynamically? Friend,also will you tell me how we can add font to any record like(e.g Times new roman, then size) things when we export to excel? Then also how we add box, colour, etc to fields?

      Delete
    3. Hi Pramod,

      For Font color, size and background color refer to post -
      http://saurav-nav.blogspot.in/2013/02/report-export-to-excel-with-font-colour.html

      Delete
  4. Thanks Saurav an pramod, u helped me understand Excel cell merging!!!....

    ReplyDelete
    Replies
    1. Hi Sachin,

      You are always welcome and it great to hear that my posts are helping someone.

      Regards,
      Saurav

      Delete
    2. This comment has been removed by a blog administrator.

      Delete
  5. How to generate random strings in navision??

    ReplyDelete
  6. hi sir ..
    very helpfull for me..

    ReplyDelete
    Replies
    1. Hi vimal,

      Great to Hear that..

      Regards,
      Saurav Dhyani

      Delete
  7. halo sir, for XlWrkSht where is the definition of this variable

    ReplyDelete
    Replies
    1. @Sharing iimu -
      Which version you are trying this. This is for Classic Dynamics NAV Classic Version and definition of that variable is in the table 370.
      The function need to be added in table 370 where that variable is already available.

      Delete

Post a Comment

Popular posts from this blog

BC 21 and Higher - PowerShell Cmdlet (Replacement of Business Central Administration).

Hi Readers, As discussed in last article about deprecating of Business Central Administration, there are few common actions that we use in administration till Business Central 20. For our on-prem customers, we will still require doing activities. As Microsoft suggest we need to start using PowerShell cmdlet.    Let's see how to do those via PowerShell, or Administration Shell. I will be keep adding commands as you comment to this article.

Send Mail with Attachment From Navision.

Hi all, We have seen how to save a report into PDF and how to send mail to a customer. Let's link these two post in one i.e. Mailing statement to a customer into PDF Format. This article is part of the Series. Please Refer  Table of Content here . If you have the old objects set let me brief you what I will be changing - 

MSDYN365BC - Data Upgrade To Microsoft Dynamics 365 Business Central on premises.

Hi Readers, We have already talked about the number of steps for upgrading to Business Central on Premises from different NAV versions. After that article, I received multiple requests for an article which list down steps for Data Migration. In this article, we will discuss steps of data migration to MSDYN365BC (on-Prem) from NAV 2017. For this article, I am considering a Cronus Demo Database without any customization. For an actual upgrade project, we will have to complete object merge using compare and Merge process. After the Merge Process, the next step is data migration. Let's discuss those steps. Direct Upgrade to Microsoft Dynamics 365 Business Central (on-Prem) is from following versions - 1. NAV 2015. 2. NAV 2016. 3. NAV 2017. 4. NAV 2018.