25 Mart 2018 Pazar

Excel Range Sınıfı

Constructor
Worksheet nesnesi tarafından yaratılır.
Örnek
Şöyle yaparız.
Range range = ws.get_Range("A1", "C12"); // your data grid range
Örnek
Şöyle yaparız.
Range entireWorksheet = xclWorksheet.Range["A1", "Z99999"];
Örnek
Tüm satır ve sütunları almak için şöyle yaparız.
Range range = ws.get_Range("A1", "XFD1048576");
Örnek
Şöyle yaparız.
Range range = ws.UsedRange;
Cells metodu
Bir range içindeki hücreye erişilebilir.
Range cell = range.Cells[1][1];
Columns Alanı
Örnek ver

EntireColumn Alanı
Şöyle yaparız.
int iCol = 0;

foreach (DataColumn c in dt.Columns)
{
  iCol++;
  if (c.DataType == typeof(System.String))
    ((Excel.Range)excel.Cells[1, iCol]).EntireColumn.NumberFormat = "@";
  else if (c.DataType == typeof(System.Int16)
              || c.DataType == typeof(System.Int32)
              || c.DataType == typeof(System.Int64))
    ((Excel.Range)excel.Cells[1, iCol]).EntireColumn.NumberFormat = "#,##0";
  else if (c.DataType == typeof(System.TimeSpan))
    range.EntireColumn.NumberFormat = @"[$-409]hh:mm:ss AM/PM;@";
  else if (c.DataType == typeof(System.DateTime))
    range.EntireColumn.NumberFormat = "yyyy-MM-dd hh:mm:ss";
  else if (c.DataType == typeof(System.Decimal))
    range.EntireColumn.NumberFormat = @"#,##0.00_);[Red](#,##0.00)";
  else
    range.EntireColumn.NumberFormat = "General";
}
Find metodu
Örnek
Şöyle yaparız.
string part1 = "some value";
string part2 = "some other value";
string part12 = string.Concat(part1, part2);
List<string> lookForList = new List<string> { part1, part2, part12 };
Excel.Range currentFind = null;
Excel.Range searchedRange = ...;
int cnt = 0;
while (currentFind == null & cnt < lookForList.Count)
{
  //make sure to specify all the parameters you need in .Find()
  currentFind = searchedRange.Find(lookForList[cnt]);
  cnt++;
}
if (currentFind!=null)
{
  Console.WriteLine("Found:");
  Console.WriteLine(currentFind.Column);
  Console.WriteLine(currentFind.Row);
}        
Örnek
Şöyle yaparız.
string matchStr = ...;
 Worksheet ws = ...;
object missing = System.Reflection.Missing.Value;
Range currentFind = ws.get_Range("A1", "AM100").Find(matchStr, missing,
                   XlFindLookIn.xlValues,
                   XlLookAt.xlPart,
                   XlSearchOrder.xlByRows,
                   XlSearchDirection.xlNext, false, missing, missing);
Value Alanı
Veriyi doldururuz.
DataTable dt = ...;
object[,] objData = new Object[dt.Rows.Count, dt.Columns.Count];

for (int row = 0; row < dt.Rows.Count; row++)
{
  for(int column= 0; column < dt.Columns.Count; column++)
  {
    objData[row, column] = dt.Rows[row][column].ToString();
  }
}
Diziyi atamak için şöyle yaparız.
targetRange.Value = objData;






Hiç yorum yok:

Yorum Gönder