Esempio n. 1
0
        private static bool GetHeader(IRow headingRow, out WorkbookHeader result)
        {
            try
            {
                int cellsQuantity = headingRow.LastCellNum;
                if (cellsQuantity == 0)
                {
                    result = new WorkbookHeader();
                    return(false);
                }

                List <string> columnHeaders = new List <string>(cellsQuantity);
                for (int i = 0; i < cellsQuantity; i++)
                {
                    string value = headingRow.GetCell(i).StringCellValue;
                    columnHeaders.Add(value);
                }

                result = new WorkbookHeader(columnHeaders);
                return(true);
            }
            catch
            {
                result = new WorkbookHeader();
                return(false);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Single file is a single workbook sheet.
        /// </summary>
        /// <param name="filePath">Path to single txt file.</param>
        /// <returns>Async tack with <see cref="WorkbookSheet"/>.</returns>
        private static async Task <WorkbookSheet> CreateSheet(string filePath)
        {
            string[] sheetLines = await TextFileLoader.LoadTxtFile(filePath).ConfigureAwait(false);

            WorkbookHeader        header  = new WorkbookHeader(GetRow(sheetLines[0]));
            List <WorkbookColumn> columns = new List <WorkbookColumn>(header.Length);
            List <WorkbookRow>    rows    = new List <WorkbookRow>(sheetLines.Length);

            // starts from 1 because line 0 is a header
            for (int i = 0; i < sheetLines.Length; i++)
            {
                WorkbookRow workbookRow = GetRow(sheetLines[i]);
                rows.Add(workbookRow);
            }

            for (int i = 0; i < header.Length; i++)
            {
                WorkbookColumn tmpWorkbookColumn = GetColumn(i, header[i], ref rows);
                columns.Add(tmpWorkbookColumn);
            }

            return(new WorkbookSheet(Path.GetFileName(filePath), header, columns, rows));
        }