I want to work with ".xls" files, however EPPlus produces an error when I try to read the ".xls" file.
this my code:
System.IO.Stream stream; ExcelSpreadsheetName sheeet; FileUploadBuild fileUpload; DialogGroup dlgUploadGroup; FileUploadBuild fileUploadBuild; FormBuildControl formBuildControl; Dialog dialog = new Dialog("Import the data from Excel"); dlgUploadGroup = dialog.addGroup("@SYS54759"); formBuildControl = dialog.formBuildDesign().control(dlgUploadGroup.name()); fileUploadBuild = formBuildControl.addControlEx(classstr(FileUpload), 'Upload'); fileUploadBuild.style(FileUploadStyle::MinimalWithFilename); fileUploadBuild.fileTypesAccepted('.xls'); 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 - worksheet.Dimension.Start.Row 1; for (i = 2; i<= rowCount; i ) { info(range.get_Item(i, 1).value); info(range.get_Item(i, 2).value); } } } else { error("Error here"); }
I'm wondering whether there is another approach to work with "xls" files.
I saw several code snippets that use SysExcelWorkbook, but they fail with the error "The name 'SysExcelApplication' does not denote a class, a table, or an extended data type."
SysExcelApplication application; SysExcelWorkbooks workbooks; SysExcelWorkbook workbook; SysExcelWorksheets worksheets; SysExcelWorksheet worksheet; SysExcelCells cells; COMVariantType type; int row; ItemId itemid; Name name; FileName filename; ; application = SysExcelApplication::construct(); workbooks = application.workbooks(); //specify the file path that you want to read filename = @"C:\Users\hsaoudi\Downloads\crypresenceetcoutparemploye.xls"; try { workbooks.open(filename); } catch (Exception::Error) { throw error("File cannot be opened."); } workbook = workbooks.item(1); worksheets = workbook.worksheets(); worksheet = worksheets.itemFromNum(1); cells = worksheet.cells(); do { row ; itemId = cells.item(row, 1).value().bStr(); name = cells.item(row, 2).value().bStr(); info(strfmt('%1 - %2', itemId, name)); type = cells.item(row 1, 1).value().variantType(); } while (type != COMVariantType::VT_EMPTY); application.quit();