Пример #1
0
        /// <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));
        }
Пример #2
0
        /// <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));
        }