2012-03-15 40 views
9

Verileri okumak için Microsoft Interop kullanıyorum.Microsoft Interop: Excel Sütun Adları

Excel-sütunlarında sütun adları A, B, C, D, ...., AA, AB, .... ve benzeri gibidir. Bu sütun isimlerini okumak için herhangi bir yolu var mı?

Başka bir bilgiye ihtiyacınız varsa lütfen bana bildirin.

Selamlar, Priyank

+2

Ne "sütun adlarını okumak", demek? Hangi sütunun olduğunu bilmek ister misin? – Jetti

+0

@Jetti: evet sütun isimlerini okumak ve bir açılır listede kullanıcıya göstermek istiyorum. –

+0

Sütun isimleriyle ... her sütun için 1. satırda ne demek, doğru mu? – Jetti

cevap

9
 Excel.Application xlApp = new Excel.Application(); 
    Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("workbookname"); 
    Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[1]; // assume it is the first sheet 
    int columnCount = xlWorksheet.UsedRange.Columns.Count; 
    List<string> columnNames = new List<string>(); 
    for (int c = 1; c < columnCount; c++) 
    { 
     if (xlWorksheet.Cells[1, c].Value2 != null) 
     { 
      string columnName = xlWorksheet.Columns[c].Address; 
      Regex reg = new Regex(@"(\$)(\w*):"); 
      if (reg.IsMatch(columnName)) 
      { 
       Match match = reg.Match(columnName);    
       columnNames.Add(match.Groups[2].Value); 
      }      
     } 
    } 

Bu, daha sonra kutuyu açarak bağlanabilen bir List<string> her sütun adı koyacağız.

+0

Nerede buluyorsun? interop.excel ad alanı ile ilgili doc? MSDN'ye bakarak, ilginç bir şey bulamıyorum. – squelos

+0

@squelos [burada MSDN'den] bazı bilgileri bulabilirsiniz (http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel (v = office.11) .aspx). Başka bir kitaptan aldım. Ayrıca okuyabileceğiniz bir blog yayınım var (burada) (http://dontbreakthebuild.com/2011/01/30/excel-and-c-interop-with-net-4-how-to-read-data- from-excel /) C# ve .NET 4.0 ile Excel verilerini okuyarak ilgileniyor. – Jetti

+0

@Jetti: Bu mükemmel çalışıyor :) :) –

-1

Ayrıca Excel çalışma Formu nesne "excelWorksheet" dir let endeksi

By Sütun Oku yapabilirsiniz o zaman kullanabileceğiniz bir değerin ayarlanması için

olarak erişebilirsiniz

excelWorksheet .Cells [rowindex, columnindex] .Value = "test";

bir değer elde etmek için size

dize sonucunu = excelWorksheet.Cells kullanabilirsiniz [rowIndex, columnIndex] .Value;

alanlar dinamik olarak sizin kod yazarken hata gösterebilir üretilir unutmayın ancak excel levha üst üste sonra 1 & sütun 2

excelWorksheet metnini ayarlamak istediğiniz örneğin o

görmezden .Cells [1, 2] .Value = "test";

Ben & mükemmel çalışır kullandık

+1

-1, soruya hiç cevap vermiyorsunuz. – nawfal

İlgili konular