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
Post a Comment