2012-03-15 46 views
9

Tôi đang sử dụng Microsoft Interop để đọc dữ liệu.Microsoft Interop: Tên Cột Excel

Trong bảng excel, các tên cột giống như A, B, C, D, ...., AA, AB, .... v.v. Có cách nào để đọc tên cột này không?

Nếu bạn cần bất kỳ thông tin nào khác, vui lòng cho tôi biết.

Kính trọng, Priyank

+2

Ý của bạn là gì, "đọc tên cột"? Bạn có muốn biết cột của mình ở đâu không? – Jetti

+0

@ Jetti: có, tôi muốn đọc tên cột và hiển thị cho người dùng trong danh sách thả xuống. –

+0

Theo tên cột ... bạn có ý nghĩa gì trong hàng 1 cho mỗi cột, đúng không? – Jetti

Trả lời

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); 
      }      
     } 
    } 

này sẽ đưa từng tên cột trong một List<string> mà sau đó bạn có thể liên kết với một hộp thả xuống.

+0

Nơi nào bạn tìm thấy doc liên quan đến toàn bộ không gian tên interop.excel? Bằng cách nhìn vào MSDN, tôi không thể tìm thấy bất cứ điều gì thú vị. – squelos

+0

@squelos bạn có thể tìm thấy một số thông tin [từ MSDN tại đây] (http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel (v = office.11) .aspx). Thông tin khác tôi nhận được từ một cuốn sách. Tôi cũng có một bài đăng trên blog mà bạn có thể đọc [ở đây] (http://dontbreakthebuild.com/2011/01/30/excel-and-c-interop-with-net-4-how-to-read-data- từ-excel /) đề cập đến việc đọc dữ liệu Excel với C# và .NET 4.0 – Jetti

+0

@ Jetti: điều này hoạt động hoàn hảo :) :) –

-1

Bạn cũng có thể đọc Cột Bằng index

cho Excel làm việc Bảng đối tượng của bạn là "excelWorksheet" sau đó bạn có thể truy cập vào nó như

để thiết lập một giá trị mà bạn có thể sử dụng

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

để có được một giá trị mà bạn có thể sử dụng

chuỗi kết quả = excelWorksheet.Cells [rowindex, columnindex] .Value;

Hãy nhớ rằng các lĩnh vực được tạo động vì thế nó có thể hiển thị lỗi bằng văn bản mã của bạn nhưng bỏ qua mà

ví dụ bạn muốn đặt văn bản trong hàng tấm excel 1 & cột 2 thì

excelWorksheet .Cells [1, 2] .Value = "test";

Tôi đã sử dụng nó & nó hoạt động hoàn hảo

+1

-1, bạn không trả lời được câu hỏi nào cả. – nawfal

Các vấn đề liên quan