Excel Import through code in D365fo X++

 Excel Import through code in D365fo X++

using System.IO;

using OfficeOpenXml;

using OfficeOpenXml.ExcelPackage;

using OfficeOpenXml.ExcelRange;


class CBLImportCartonsData

{

    str myFileType;

   

    

    public static void main(Args _args)

{

        

}


    public str setFileType(str _FileType)

{

    myFileType = _FileType;

        

    return myFileType;

}


    public Void Execute(FormControl sender)

{

    this.uploadFile(sender);

}


    public  void uploadFile(FormControl sender)

{

    System.IO.Stream stream;


    ExcelSpreadsheetName        sheeet;

    FileUploadBuild             fileUpload;

    DialogGroup                 dlgUploadGroup;

    FileUploadBuild             fileUploadBuild;

    FormBuildControl            formBuildControl;

        CBLCartonsHeader cblCartonsheader = sender.formRun().dataSource(1).cursor();


    Dialog dialog = new Dialog("Import the Cartons from Excel");


    dlgUploadGroup      = dialog.addGroup("@SYS54759");

    formBuildControl    = dialog.formBuildDesign().control(dlgUploadGroup.name());

    fileUploadBuild     = formBuildControl.addControlEx(classstr(FileUpload), 'Upload');


    fileUploadBuild.style(FileUploadStyle::MinimalWithFilename);

    fileUploadBuild.fileTypesAccepted('.xlsx');


    if (dialog.run() && dialog.closedOk())

    {


        FileUpload fileUploadControl = dialog.formRun().control(dialog.formRun().controlId("Upload"));

        FileUploadTemporaryStorageResult fileUploadResult = fileUploadControl.getFileUploadResult();



        if (fileUploadResult != null && fileUploadResult.getUploadStatus())

        {

            stream = fileUploadResult.openResult();

            using (ExcelPackage Package = new ExcelPackage(stream))

            {

                int rowCount, i;


                Package.Load(stream);

                ExcelWorksheet worksheet = package.get_Workbook().get_Worksheets().get_Item(1);

                OfficeOpenXml.ExcelRange range = worksheet.Cells;

                rowCount = (worksheet.Dimension.End.Row-1) - (worksheet.Dimension.Start.Row + 6);

                //info(int2Str(rowCount));

                    

                //TxlSetFinancialDimensionOpenPO_ha _header = new TxlSetFinancialDimensionOpenPO_ha();

                //TxlSetFinancialDimensionOpenPO_ha _lines = new TxlSetFinancialDimensionOpenPO_ha();


                //TxlIUUploadAndReadExcel_InventTransRegister_ha _lines = new TxlIUUploadAndReadExcel_InventTransRegister_ha();

                CBLCartonsInfo _CBLImportCartonsData;


                for (i = 8; i<= rowCount+8; i++)

                {

                    

                    str SrNum = range.get_Item(i, 2).Value;

                    str grade = range.get_Item(i, 3).Value;

                    str cartonid = range.get_Item(i, 4).Value;

                    str size = range.get_Item(i, 5).Value;

                    str drop = range.get_Item(i, 6).Value;

                    str qty = range.get_item(i,7).Value;

                    real netwegrmt = range.get_item(i,8).Value;

                    real netwtctn = range.get_item(i,9).Value;

                    

                      

                    _CBLImportCartonsData.SrNO = SrNum;

                    _CBLImportCartonsData.CartonId = any2Int64(cartonid);

                    _CBLImportCartonsData.Grade = grade;

                    _CBLImportCartonsData.Size = size;

                    _CBLImportCartonsData.drop = drop;

                    _CBLImportCartonsData.qty = any2int(Qty);

                    _CBLImportCartonsData.GrmntWt = netwegrmt;

                    _CBLImportCartonsData.CartonWt = netwtctn;

                    _CBLImportCartonsData.DocumentNum = cblCartonsheader.DocumentNum;

                    _CBLImportCartonsData.RefRecid = cblCartonsheader.RecId;

                    _CBLImportCartonsData.insert();

                    

                }


             //   _lines.setCottonAttributes(sender,_TxlImportBalesData_ha);

                    


            }


            info("Imported is completed");

        }

        else

        {

            


            error("error occurs");


        }


    }

}


}


Comments

Popular posts from this blog

D365FO – AX – X++ –Refresh, Reread, Research, and ExecuteQuery

Create Inventory Journal through Code in D365FO X++

SalesLine Reservation in D365fo x++