static void ExcelImport(Args _args)
{
int row = 1;
int counter = 0;
int column = 1;
Dialog _dialog;
DialogField _file;
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
ItemId itemId;
EcoResProduct ecoResProduct;
FileName filename;
_dialog = new Dialog("Please select the file to load");
_dialog.addText("Select file:");
_file = _dialog.addField(ExtendedTypeStr("FilenameOpen"));
_dialog.run();
if (_dialog.closedOK())
{
application = SysExcelApplication::construct();
workbooks = application.workbooks();
//specify the file path that you want to read
filename =_file.value(); //ExcelSheet File Name
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error('File cannot be opened');
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1); //Here 1 is the worksheet Number
cells = worksheet.cells();
try
{
do
{
row++;
if (cells.item(1, 1).value().bStr() == "ItemId")
{
itemId = strRTrim(strLTrim(cells.item(row, 1).value().bStr()));
}
else
{
throw error("The 'ItemId' field should be in 1st column");
}
if (itemId)
{
ecoResProduct = EcoResProduct::findByDisplayProductNumber(itemId,true);
if (ecoResProduct)
{
counter++;
//ttsBegin;
//ecoResProduct.ECommerceAvailable_BB = NoYes::No;
//ecoResProduct.update();
//ttsCommit;
}
else
{
info(strFmt("Item %1 not processed", itemId));
}
}
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
info(strFmt("%1 item updated", counter));
}
catch (Exception::Error)
{
workbooks.close();
CodeAccessPermission::revertAssert();
application.quit();
ttsabort;
}
workbooks.close();
CodeAccessPermission::revertAssert();
application.quit();
}
}
No comments:
Post a Comment