private void ReadColumns()
 {
     foreach (var columnData in data.Descendants("col"))
     {
         ColumnRange range = new ColumnRange(columnData);
         for (long i = range.Min - 1; i < range.Max; ++i)
         {
             Column column = new Column(ColumnUtil.GetColumnName(i), i, range.Width, range.Style, this);
             columns.Add(column);
         }
     }
 }
Beispiel #2
0
 public ICell GetCell(int columnIndex)
 {
     return(GetCell(ColumnUtil.GetColumnName(columnIndex)));
 }
        public IColumn GetColumn(long index)
        {
            string name = ColumnUtil.GetColumnName(index);

            return(GetColumn(index, name));
        }
        public IColumn GetColumn(string name)
        {
            long index = ColumnUtil.GetColumnIndex(name);

            return(GetColumn(index, name));
        }
Beispiel #5
0
        public void TestingRangeColumns()
        {
            var excelFile = ExcelFile.Open(path);
            var worksheet = excelFile.OpenWorksheet(sheetName);

            worksheet.GetColumn("F").Width = NewWidth;
            worksheet.GetColumn("G").Width = NewWidth;
            worksheet.GetColumn("H").Width = NewWidth;
            worksheet.GetColumn("I").Width = NewWidth;
            worksheet.GetColumn("J").Width = NewWidth;
            excelFile.Save();
            excelFile.Close();

            excelFile = ExcelFile.Open(path);
            worksheet = excelFile.OpenWorksheet(sheetName);
            var data = (XElement)reflection.GetValue(reflection.GetValue(worksheet, "data"), "data");

            var rangeCol = data.Descendants(data.GetDefaultNamespace() + "col").Where(c => Convert.ToInt32(c.Attribute("min").Value) == ColumnUtil.GetColumnIndex("F") + 1 && Convert.ToInt32(c.Attribute("max").Value) == ColumnUtil.GetColumnIndex("J") + 1);

            Assert.NotNull(rangeCol);

            var item = rangeCol.FirstOrDefault();

            Assert.NotNull(item);

            Assert.Equal(NewWidth, Convert.ToDouble(item.Attribute("width").Value, NumberFormatInfo.InvariantInfo));

            Assert.Equal(NewWidth, worksheet.GetColumn("F").Width);
            Assert.Equal(NewWidth, worksheet.GetColumn("G").Width);
            Assert.Equal(NewWidth, worksheet.GetColumn("H").Width);
            Assert.Equal(NewWidth, worksheet.GetColumn("I").Width);
            Assert.Equal(NewWidth, worksheet.GetColumn("J").Width);
            excelFile.Save();
            excelFile.Close();

            //Changing midle column of range
            excelFile = ExcelFile.Open(path);
            worksheet = excelFile.OpenWorksheet(sheetName);

            var column = worksheet.GetColumn("H");

            column.Width = NewWidth / 2;
            excelFile.Save();
            excelFile.Close();

            excelFile = ExcelFile.Open(path);
            worksheet = excelFile.OpenWorksheet(sheetName);
            data      = (XElement)reflection.GetValue(reflection.GetValue(worksheet, "data"), "data");
            var colH = data.Descendants(data.GetDefaultNamespace() + "col").Where(c => Convert.ToInt32(c.Attribute("min").Value) == ColumnUtil.GetColumnIndex("H") && Convert.ToInt32(c.Attribute("max").Value) == ColumnUtil.GetColumnIndex("H")).FirstOrDefault();

            Assert.NotNull(colH);

            Assert.Equal(NewWidth / 2, Convert.ToDouble(colH.Attribute("width").Value, NumberFormatInfo.InvariantInfo));

            Assert.Equal(NewWidth / 2, worksheet.GetColumn("H").Width);
            excelFile.Save();
            excelFile.Close();

            //Changing first column of range
            excelFile = ExcelFile.Open(path);
            worksheet = excelFile.OpenWorksheet(sheetName);
            worksheet.GetColumn("F").Width = NewWidth / 2 + 2;
            excelFile.Save();
            excelFile.Close();

            excelFile = ExcelFile.Open(path);
            worksheet = excelFile.OpenWorksheet(sheetName);

            data = (XElement)reflection.GetValue(reflection.GetValue(worksheet, "data"), "data");
            var colF = data.Descendants(data.GetDefaultNamespace() + "col").Where(c => Convert.ToInt32(c.Attribute("min").Value) == ColumnUtil.GetColumnIndex("F") && Convert.ToInt32(c.Attribute("max").Value) == ColumnUtil.GetColumnIndex("F")).FirstOrDefault();

            Assert.NotNull(colF);

            Assert.Equal(NewWidth / 2 + 2, Convert.ToDouble(colF.Attribute("width").Value, NumberFormatInfo.InvariantInfo));

            Assert.Equal(NewWidth / 2 + 2, worksheet.GetColumn("F").Width);
            excelFile.Save();
            excelFile.Close();

            //Changing last column of range.
            excelFile = ExcelFile.Open(path);
            worksheet = excelFile.OpenWorksheet(sheetName);
            worksheet.GetColumn("J").Width = NewWidth / 2 + 1;
            excelFile.Save();
            excelFile.Close();

            excelFile = ExcelFile.Open(path);
            worksheet = excelFile.OpenWorksheet(sheetName);

            data = (XElement)reflection.GetValue(reflection.GetValue(worksheet, "data"), "data");
            var colJ = data.Descendants(data.GetDefaultNamespace() + "col").Where(c => Convert.ToInt32(c.Attribute("min").Value) == ColumnUtil.GetColumnIndex("J") && Convert.ToInt32(c.Attribute("max").Value) == ColumnUtil.GetColumnIndex("J")).FirstOrDefault();

            Assert.NotNull(colJ);

            Assert.Equal(NewWidth / 2 + 1, Convert.ToDouble(colJ.Attribute("width").Value, NumberFormatInfo.InvariantInfo));

            Assert.Equal(NewWidth / 2 + 1, worksheet.GetColumn("J").Width);
            excelFile.Save();
            excelFile.Close();
        }
Beispiel #6
0
        public void GetColumn()
        {
            var excelFile  = ExcelFile.Open(path);
            var worksheet  = excelFile.OpenWorksheet(sheetName);
            var columnData = (XElement)reflection.GetValue(reflection.GetValue(reflection.GetPropertyValue(worksheet, "SheetColumns"), "data"), "data");

            Assert.NotNull(columnData);

            var colA = worksheet.GetColumn("A");

            Assert.NotNull(colA);
            var cola = worksheet.GetColumn("a");

            Assert.NotNull(cola);
            Assert.Equal(colA, cola);

            string lastColumnName = "ZZ";
            var    col            = worksheet.GetColumn(lastColumnName);

            Assert.NotNull(col);

            var lastColumn = columnData.Descendants(columnData.GetDefaultNamespace() + "col").Where(r => Convert.ToInt64(r.Attribute("min").Value) >= ColumnUtil.GetColumnIndex(lastColumnName) && Convert.ToInt64(r.Attribute("max").Value) <= ColumnUtil.GetColumnIndex(lastColumnName)).FirstOrDefault();

            Assert.NotNull(lastColumn);

            col = worksheet.GetColumn("GH");
            Assert.NotNull(col);

            col = worksheet.GetColumn("AAA");
            Assert.Null(col);
            excelFile.Save();
            excelFile.Close();
        }