How to Import Records from Excel Using X++ Code in D365FO
using
System.IO;
using OfficeOpenXml;
using OfficeOpenXml.ExcelPackage;
using OfficeOpenXml.ExcelRange;
class RamImportdata
{
public void run()
{
this.updateDailyAttendance();
}
void updateDailyAttendance()
{
System.IO.Stream stream;
ExcelSpreadsheetName sheeet;
FileUploadBuild fileUpload;
DialogGroup dlgUploadGroup;
FileUploadBuild fileUploadBuild;
FormBuildControl formBuildControl;
Digitaldetail emplTimeAttendance, insertTimeAttendance, updateTimeAttendance;
COMVariantType type;
Dialog dialog = new Dialog("Daily Attendance Imported");
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,columncount,j,row=1;
str purchase,Item_Id,Configuration,Product_key;
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;
columncount = (worksheet.Dimension.End.Column);
for (i = 2; i<= rowCount; i++)
{
if(emplTimeAttendance)
{
emplTimeAttendance.selectForUpdate(true);
insertTimeAttendance.purchase = any2Str(range.get_Item(i, 1).value);
emplTimeAttendance.Item_Id = any2Str(range.get_Item(i, 2).value);
emplTimeAttendance.Configuration = any2Str(range.get_Item(i, 3).value);
emplTimeAttendance.Product_key = any2Str(range.get_Item(i, 4).value);
ttsbegin;
emplTimeAttendance.update();
ttscommit;
}
Else // insert the new record
{
insertTimeAttendance.purchase
= any2Str(range.get_Item(i, 1).value);
insertTimeAttendance.Item_Id = any2Str(range.get_Item(i, 2).value);
insertTimeAttendance.Configuration = any2Str(range.get_Item(i, 3).value);
insertTimeAttendance.Product_key = any2Str(range.get_Item(i, 4).value);
insertTimeAttendance.insert();
}
}
}
}
else
{
error("Error here");
}
}
}
public static void main (Args args)
{
RamImportdata emplDailyAttendanceImport;
emplDailyAttendanceImport = new RamImportdata ();
emplDailyAttendanceImport.run();
}
}
using OfficeOpenXml;
using OfficeOpenXml.ExcelPackage;
using OfficeOpenXml.ExcelRange;
class RamImportdata
{
public void run()
{
this.updateDailyAttendance();
}
{
System.IO.Stream stream;
ExcelSpreadsheetName sheeet;
FileUploadBuild fileUpload;
DialogGroup dlgUploadGroup;
FileUploadBuild fileUploadBuild;
FormBuildControl formBuildControl;
Digitaldetail emplTimeAttendance, insertTimeAttendance, updateTimeAttendance;
COMVariantType type;
Dialog dialog = new Dialog("Daily Attendance Imported");
formBuildControl = dialog.formBuildDesign().control(dlgUploadGroup.name());
fileUploadBuild = formBuildControl.addControlEx(classstr(FileUpload), 'Upload');
fileUploadBuild.style(FileUploadStyle::MinimalWithFilename);
fileUploadBuild.fileTypesAccepted('.xlsx');
if (dialog.run() && dialog.closedOk())
{
FileUploadTemporaryStorageResult fileUploadResult = fileUploadControl.getFileUploadResult();
if (fileUploadResult != null && fileUploadResult.getUploadStatus())
{
stream = fileUploadResult.openResult();
using (ExcelPackage Package = new ExcelPackage(stream))
{
str purchase,Item_Id,Configuration,Product_key;
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;
columncount = (worksheet.Dimension.End.Column);
for (i = 2; i<= rowCount; i++)
{
emplTimeAttendance.selectForUpdate(true);
insertTimeAttendance.purchase = any2Str(range.get_Item(i, 1).value);
emplTimeAttendance.Item_Id = any2Str(range.get_Item(i, 2).value);
emplTimeAttendance.Configuration = any2Str(range.get_Item(i, 3).value);
emplTimeAttendance.Product_key = any2Str(range.get_Item(i, 4).value);
insertTimeAttendance.Item_Id = any2Str(range.get_Item(i, 2).value);
insertTimeAttendance.Configuration = any2Str(range.get_Item(i, 3).value);
insertTimeAttendance.Product_key = any2Str(range.get_Item(i, 4).value);
insertTimeAttendance.insert();
{
error("Error here");
}
}
}
{
RamImportdata emplDailyAttendanceImport;
emplDailyAttendanceImport = new RamImportdata ();
emplDailyAttendanceImport.run();
}
Comments
Post a Comment