using System.IO;
using OfficeOpenXml;
using OfficeOpenXml.ExcelPackage;
using OfficeOpenXml.ExcelRange;
using OfficeOpenXml.Style;
using OfficeOpenXml.Table;
class Export_And_Import extends RunBase
{
//Export Template
public void ExportData()
{
MemoryStream memoryStream = new MemoryStream();
using (var package = new ExcelPackage(memoryStream))
{
var currentRow = 1;
var worksheets = package.get_Workbook().get_Worksheets();
var Worksheet = worksheets.Add("Other Pay Elements");
var cells = Worksheet.get_Cells();
OfficeOpenXml.ExcelRange cell;
System.String value;
cell = cells.get_Item(currentRow, 1);
cell.set_Value("Employee Id");
cell = cells.get_Item(currentRow, 2);
cell.set_Value("Month");
cell = cells.get_Item(currentRow, 3);
cell.set_Value("Year");
cell = cells.get_Item(currentRow, 4);
cell.set_Value("Date");
cell = cells.get_Item(currentRow, 5);
cell.set_Value("Addition / Deduction");
cell = cells.get_Item(currentRow, 6);
cell.set_Value("Pay Element Code");
cell = cells.get_Item(currentRow, 7);
cell.set_Value("Payroll Amount");
package.Save();
file::SendFileToUser(memoryStream, "Other Pay Elements Import.xlsx");
}
}
//Import Data
public void ImportData()
{
System.IO.Stream stream;
ExcelSpreadsheetName sheeet;
FileUploadBuild fileUpload;
DialogGroup dlgUploadGroup;
FileUploadBuild fileUploadBuild;
FormBuildControl formBuildControl;
Dialog dialog = new Dialog("Import Pay Elements");
str ctrl = "Import";
PayElements payElements;
AddDeduct addDeduct;
dlgUploadGroup = dialog.addGroup("@SYS54759");
formBuildControl = dialog.formBuildDesign().control(dlgUploadGroup.name());
fileUploadBuild = formBuildControl.addControlEx(classstr(FileUpload), ctrl);
fileUploadBuild.fileTypesAccepted('.xlsx');
if (dialog.run() && dialog.closedOk())
{
FileUpload fileUploadControl = dialog.formRun().control(dialog.formRun().controlId(ctrl));
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++)
{
select payElements where payElements.EmplId == range.get_Item(i, 1).value
&& payElements .PayElementCode == range.get_Item(i, 6).value
&& payElements .EffectiveDate == DateTimeUtil::date(range.get_Item(i, 4).value);
if(!payElements )
{
payElements .EmplId = range.get_Item(i, 1).value;
payElements .PayslipMonth = str2Int(range.get_Item(i, 2).value);
payElements .PayslipYear = str2Int(range.get_Item(i, 3).value);
payElements .EffectiveDate = DateTimeUtil::date(range.get_Item(i, 4).value);
payElements .AddDeduct = str2Enum(addDeduct,range.get_Item(i, 5).value);
payElements .PayElementCode = range.get_Item(i, 6).value;
payElements .Amount = any2Real(range.get_Item(i, 7).value);
payElements .insert();
}
else
{
continue;
}
}
info("Pay Elements Imported");
}
}
else
{
error("File was not Loaded Properly");
}
}
}
public static void main(Args args)
{
PayElementsImport objimport = new PayElementsImport ();
DialogButton dialogButton;
dialogButton = Box::yesNo("Create Empty Excel",DialogButton::Yes,"Empty Excel","Yes OR No");
if(dialogButton == DialogButton::Yes)
{
objimport.ExportData();
}
objimport.ImportData();
}
}
No comments:
Post a Comment