Sunday, December 24, 2023

How to Import Records from Excel Using X++ Code in ...

 

How to Import & Export Records from Excel Using X++ Code in ...

  

Note:Form to Excel import and Export Data 

1.create Runnable Class(Job)---Import code

using System.IO;
using OfficeOpenXml;
using OfficeOpenXml.ExcelPackage;
using OfficeOpenXml.ExcelRange;
 
class WRE_importDtainExa
{
   public static void main(Args _args)
   {
       WRE_Test                    test;
       System.IO.Stream            stream;
       ExcelSpreadsheetName        sheeet;
       FileUploadBuild             fileUpload;
       DialogGroup                 dlgUploadGroup;
       FileUploadBuild             fileUploadBuild;
       FormBuildControl            formBuildControl;
       Dialog                      dialog = new Dialog("Import the data 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 - worksheet.Dimension.Start.Row + 1;
 
                   for (i = 2; i<= rowCount; i++)
                   {
                       test.CustomerName = range.get_Item(i, 1).value;
                       test.CustomerAccount = range.get_Item(i, 2).value;
                       test.insert();
 
 
                       info(range.get_Item(i, 1).value);
                       info(range.get_Item(i, 2).value);
                   }
               }
           }
           else
           {
               error("Error here");
           }
 
       }
   }
 
}



2.create Runnable Class(Job)---Export code

using System.IO;
using OfficeOpenXml;
using OfficeOpenXml.Style;
using OfficeOpenXml.Table;
using System.IO.MemoryStream;
 
class WRE_ExcelExportClass
{
   public static void main(Args _args)
 
   {
       WRE_ExportExcelTable              vendTable;
      
       Taxregistration                   taxregistration;
       MemoryStream   memoryStream = new MemoryStream();
 
       DocuFileSaveResult saveResult = DocuFileSave::promptForSaveLocation("@ApplicationPlatform:Testingexcelexport", "xlsx", null, "Testing excel export");
       if (saveResult && saveResult.parmAction() != DocuFileSaveAction::Cancel)
       {
           saveResult.parmOpenParameters('web=1');
           saveResult.parmOpenInNewWindow(false);
           System.IO.Stream workbookStream = new System.IO.MemoryStream();
          // System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
     
           using (var package = new ExcelPackage(memoryStream))
           {
 
               var currentRow=1;
               var worksheets = package.get_Workbook().get_Worksheets();
               var worksheet = worksheets.Add("First sheet");
               var cells = worksheet.get_Cells();
 
               var cell = cells.get_Item(currentRow,1);
               System.String value="CustomerName";
               cell.set_Value(value);
 
               cell=null;
               value="CustomerAccount";
               cell=cells.get_Item(currentRow,2);
               cell.set_Value(value);
 
               cell=null;
               value="CustomerMobileNo";
               cell=cells.get_Item(currentRow,3);
               cell.set_Value(value);
         
 
               while select vendTable
               {
                   currentRow ++;                cell = null;
                   cell = cells.get_Item(currentRow,1);
                   cell.set_Value(vendTable.CustomerName);
                   cell = null;
                   cell = cells.get_Item(currentRow, 2);
                   cell.set_Value(vendTable.CustomerAccount);
                   cell = null;
                   cell = cells.get_Item(currentRow, 3);
                   cell.set_Value(vendTable.CustomerMobileNo);
               }
               package.Save();
               memoryStream.Seek(0, System.IO.SeekOrigin::Begin);
               DocuFileSave::processSaveResult(memoryStream, saveResult);
           }
       }
   }
   
 
}










No comments:

Post a Comment

How To Create A WorkFlow In D365F&O

  How To Create Work Flow In D-365 F&O ? What is workflow? A workflow in the dynamics 365 apps is a way that automate business processes...