Thursday, 19 December 2019

Create excel template in d365

using System.IO;
using OfficeOpenXml;
using OfficeOpenXml.ExcelPackage;
using OfficeOpenXml.ExcelRange;
using OfficeOpenXml.Style;
using OfficeOpenXml.Table;

class INTC_MTKOTemplate
{
    #define.ItemNumber("Item number")
    #define.ItemName("Item name")
    #define.QtyRequired("Quantity required")
    #define.Remarks("Remarks")
   
    public static void main(Args    args)
    {
        MemoryStream            memoryStream = new MemoryStream();
        INTC_MTKOTemplate       mtkoTemplate = INTC_MTKOTemplate::construct();

        mtkoTemplate.generateTemplate(memoryStream);
    }

    public static INTC_MTKOTemplate construct()
    {
        return new INTC_MTKOTemplate();
    }

    public void generateTemplate(MemoryStream   _memoryStream = new MemoryStream())
    {
        using (var package = new ExcelPackage(_memoryStream))
        {
            var                 currentRow = 1;
            var                 worksheets = package.get_Workbook().get_Worksheets();
            var                 worksheet = worksheets.Add('Template');
            var                 cells = worksheet.get_Cells();
            System.String       coloum;
            ExcelRange          cell;

            coloum = #ItemNumber;
            cell = cells.get_Item(currentRow, 1);
            cell.set_Value(coloum);
            cell = null;

            coloum = #ItemName;
            cell = cells.get_Item(currentRow, 2);
            cell.set_Value(coloum);
            cell = null;

            coloum = #QtyRequired;
            cell = cells.get_Item(currentRow, 3);
            cell.set_Value(coloum);
            cell = null;

            coloum = #Remarks;
            cell = cells.get_Item(currentRow, 4);
            cell.set_Value(coloum);
            cell = null;

            package.Save();

            file::SendFileToUser(_memoryStream, 'MTKO lines template.xlsx');
        }
    }

}

No comments:

Post a Comment