/// <summary> /// Creates cached structure with contains all the data from the given text file paths. /// </summary> /// <param name="workbookName">Workbook name.</param> /// <param name="files">File paths with text workbooks.</param> /// <returns>Async task with <see cref="Workbook"/>.</returns> internal static async Task <Workbook> AsyncCreate(string workbookName, string[] files) { int sheetsNumber = files.Length; List <WorkbookSheet> sheets = new List <WorkbookSheet>(sheetsNumber); for (int i = 0; i < sheetsNumber; i++) { WorkbookSheet workbookSheet = await CreateSheet(files[i]).ConfigureAwait(false); sheets.Add(workbookSheet); } return(new Workbook(workbookName, sheets)); }
/// <summary> /// Creates cached structure with contains all the data from the given <see cref="IWorkbook"/>. /// </summary> /// <param name="workbookName">Workbook name.</param> /// <param name="workbook"><see cref="IWorkbook"/> that can read from the existing excel file.</param> /// <returns>Async task with <see cref="Workbook"/>. Async is a fake to make it easily callable as a task.</returns> internal async Task <Workbook> AsyncCreate(string workbookName, IWorkbook workbook) { int sheetsNumber = workbook.NumberOfSheets; List <WorkbookSheet> sheets = new List <WorkbookSheet>(sheetsNumber); for (int i = 0; i < sheetsNumber; i++) { try { WorkbookSheet workbookSheet = CreateSheet(workbookName, workbook.GetSheetAt(i)); sheets.Add(workbookSheet); } catch (Exception e) { Trace.Write("Invalid format in one or more sheets in given file. " + e.Message, "Error"); } } await Task.Delay(0); return(new Workbook(workbookName, sheets)); }