Exemplo n.º 1
0
        /// <summary>
        /// Récupère la liste des lignes du tableau excel sous le format du type passé en paramètre.
        /// </summary>
        /// <typeparam name="TRow">Le type de l'objet de retour.</typeparam>
        /// <returns>La liste des lignes du fichier Excel.</returns>
        public ICollection <TRow> ReadRows <TRow>()
            where TRow : new()
        {
            var initialRow = _currentCell.RowIndex;
            var rows       = new List <TRow>();

            /* Parcourt les lignes. */
            while (true)
            {
                /* On lit la ligne. */
                var row = ReadRow <TRow>();

                if (row == null)
                {
                    break;
                }

                rows.Add(row);

                /* Passe à la ligne suivante. */
                _currentCell = _currentCell.ShiftRow(1);
            }

            /* Retourne à la première ligne. */
            _currentCell = _currentCell.ChangeRow(initialRow);

            return(rows);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Ecrit une liste de lignes démarrant à la cellule courante.
        /// Les valeurs de cellules sont lues dans l'ordre des propriétés du bean <code>row</code>.
        /// Les lignes sont écrites dans l'ordre de la collection.
        /// </summary>
        /// <typeparam name="TRow">Type de la ligne.</typeparam>
        /// <param name="rows">Liste des beans de ligne.</param>
        /// <returns>Le builder.</returns>
        public ExcelTemplateBuilder WriteRows <TRow>(ICollection <TRow> rows)
        {
            var initialRow = _currentCell.RowIndex;

            /* Parcourt les lignes. */
            foreach (var row in rows)
            {
                /* Ecrit la ligne. */
                WriteRow(row);

                /* Passe à la ligne suivante. */
                _currentCell = _currentCell.ShiftRow(1);
            }

            /* Retourne à la première ligne. */
            _currentCell = _currentCell.ChangeRow(initialRow);

            return(this);
        }