D365 Export data on a File - Using Action Menu Item Button click
Exporting a table data
Here is the Action Menu Class
using System.IO;
using OfficeOpenXml;
using OfficeOpenXml.Style;
using OfficeOpenXml.Table;
class SLD_CBLDyeingProcessCodeLineExport
{
public static void main(Args _args)
{
CommaStreamIo io = CommaStreamIo::constructForWrite();
str fileName = strFmt('%1.csv', "Chemical Lines Export"), fileContent;
str runTime;
CBLDyeingProcessCodeLine cBLDyeingProcessCodeLine;
// Write header
io.writeExp(["Serial Number", "Process Id", "Process Type", "Parameter", "Item", "Item Name", "Density", "Gram / Liter", "Time bases", "Consumption", "Chemical rate Rs./Kg", "Cost/Meter","Value" ]);
// Write line
while select firstfast cBLDyeingProcessCodeLine
{
io.writeExp([cBLDyeingProcessCodeLine.LineNum,
cBLDyeingProcessCodeLine.SLD_ProcessId,
cBLDyeingProcessCodeLine.CBLProcTypeEDT,
cBLDyeingProcessCodeLine.ParameterName,
cBLDyeingProcessCodeLine.Item,
cBLDyeingProcessCodeLine.ItemName,
cBLDyeingProcessCodeLine.SLD_Density,
cBLDyeingProcessCodeLine.Value,
cBLDyeingProcessCodeLine.Fixed,
cBLDyeingProcessCodeLine.Consumption,
cBLDyeingProcessCodeLine.Rs,
cBLDyeingProcessCodeLine.Cost_Meter,
cBLDyeingProcessCodeLine.Water_LM
]);
}
// Set stream
System.IO.Stream stream = io.getStream();
stream.Position =0;
// Set stream reader
System.IO.StreamReader sReader = new System.IO.StreamReader(stream);
// Set file cotentn strin
fileContent = sReader.ReadToEnd();
// Save file
file::SendStringAsFileToUser(fileContent, fileName);
}
}