Tuesday, May 8, 2012

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/

16 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
    Replies
    1. Dear Sachin,

      Can you explain what you want to do?

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

    ReplyDelete
    Replies
    1. Hi vimal,

      Great to Hear that..

      Regards,
      Saurav Dhyani

      Delete