Exemple #1
0
 public ImportExportOptions(TextFileOpenFlags flags)
 {
     this.rowHeader     = (flags & TextFileOpenFlags.IncludeRowHeader) == TextFileOpenFlags.IncludeRowHeader;
     this.columnHeader  = (flags & TextFileOpenFlags.IncludeColumnHeader) == TextFileOpenFlags.IncludeColumnHeader;
     this.unFormatted   = (flags & TextFileOpenFlags.UnFormatted) == TextFileOpenFlags.UnFormatted;
     this.formula       = (flags & TextFileOpenFlags.ImportFormula) == TextFileOpenFlags.ImportFormula;
     this.expandRows    = true;
     this.expandColumns = true;
 }
Exemple #2
0
        /// <summary>
        /// Sets the sheet data.
        /// </summary>
        /// <param name="worksheet">The sheet.</param>
        /// <param name="rowIndex">The row index.</param>
        /// <param name="columnIndex">The column index.</param>
        /// <param name="data">The data.</param>
        /// <param name="flags">The import flags.</param>
        public static void SetSheetData(Worksheet worksheet, int rowIndex, int columnIndex, List <List <string> > data, TextFileOpenFlags flags)
        {
            int num       = data.Count;
            int maxLength = GetMaxLength(data);

            if ((num != 0) && (maxLength != 0))
            {
                ImportExportOptions opt = new ImportExportOptions(flags);
                opt.FixOptions(worksheet);
                int columnCount = opt.RowHeader ? worksheet.RowHeaderColumnCount : 0;
                int num4        = opt.ColumnHeader ? worksheet.ColumnHeaderRowCount : 0;
                int num5        = 0;
                maxLength -= columnCount;
                if (maxLength <= 0)
                {
                    maxLength = 0;
                }
                num -= num4;
                if (num <= 0)
                {
                    num5 = 0;
                }
                num -= num5;
                if (num <= 0)
                {
                    num = 0;
                }
                if (opt.ExpandRows && ((rowIndex + num) > worksheet.RowCount))
                {
                    worksheet.RowCount = rowIndex + num;
                }
                if (opt.ExpandColumns && ((columnIndex + maxLength) > worksheet.ColumnCount))
                {
                    worksheet.ColumnCount = columnIndex + maxLength;
                }
                int num6 = 0;
                for (int i = 0; num6 < data.Count; i++)
                {
                    List <string> rowData = data[num6];
                    if (rowData.Count > 0)
                    {
                        if ((num4 > 0) && (num6 < num4))
                        {
                            SetRowData(worksheet, rowData, i, columnIndex, maxLength, SheetArea.ColumnHeader, opt);
                        }
                        else if ((num > 0) && (i < worksheet.GetRowCount(SheetArea.Cells)))
                        {
                            if (num6 == num4)
                            {
                                i = rowIndex;
                            }
                            SetRowData(worksheet, rowData, i, 0, columnCount, SheetArea.CornerHeader | SheetArea.RowHeader, opt);
                            rowData.RemoveRange(0, columnCount);
                            SetRowData(worksheet, rowData, i, columnIndex, maxLength, SheetArea.Cells, opt);
                        }
                    }
                    num6++;
                }
            }
        }
Exemple #3
0
 /// <summary>
 /// Sets the range text.
 /// </summary>
 /// <param name="worksheet">The sheet.</param>
 /// <param name="row">The row.</param>
 /// <param name="column">The column.</param>
 /// <param name="data">The data.</param>
 /// <param name="rowDelimiter">The row delimiter.</param>
 /// <param name="columnDelimiter">The column delimiter.</param>
 /// <param name="cellDelimiter">The cell delimiter.</param>
 /// <param name="flags">The load flags.</param>
 public static void SetRangeText(Worksheet worksheet, int row, int column, string data, string rowDelimiter, string columnDelimiter, string cellDelimiter, TextFileOpenFlags flags)
 {
     if (worksheet == null)
     {
         throw new ArgumentNullException("sheet");
     }
     if ((row < -1) || (row >= worksheet.RowCount))
     {
         throw new IndexOutOfRangeException(string.Format(ResourceStrings.InvaildRowIndexWithAllowedRangeBehind, (object[])new object[] { ((int)row), ((int)(worksheet.RowCount - 1)) }));
     }
     if ((column < -1) || (column >= worksheet.ColumnCount))
     {
         throw new IndexOutOfRangeException(string.Format(ResourceStrings.InvalidColumnIndexWithAllowedRangeBehind, (object[])new object[] { ((int)column), ((int)(worksheet.ColumnCount - 1)) }));
     }
     if (!string.IsNullOrEmpty(data))
     {
         if (row == -1)
         {
             row = 0;
         }
         if (column == -1)
         {
             column = 0;
         }
         List <List <string> > list = ParseText(data, rowDelimiter, columnDelimiter, cellDelimiter);
         if ((list != null) && (list.Count > 0))
         {
             SetSheetData(worksheet, row, column, list, flags);
         }
     }
 }