2012-12-07 11 views
5

tôi đang cố gắng đọc các nhận xét từ bảng excel nhưng không thể làm như vậy. Hãy giúp tôi. Cảm ơn trước. mã của tôi là như sau-cách đọc nhận xét của bảng excel trong C#

Excel.Application appExl; 
    Excel.Workbook workbook; 
    Excel.Worksheet NwSheet; 
    Excel.Range ShtRange; 
    appExl = new Excel.Application(); 
    workbook = appExl.Workbooks.Open(Server.MapPath("~/" + System.Configuration.ConfigurationManager.AppSettings["ExcelFile"] + fileName), Missing.Value, Missing.Value, 
    Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, 
    Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); 
    NwSheet = (Excel.Worksheet)workbook.Sheets.get_Item(1); 
    string obj = NwSheet.Range[0].Comment.Text;  
+0

Thoạt nhìn, tôi muốn 0 không phải là phạm vi hợp lệ. Đó không phải là phạm vi hợp lệ trong trang tính Excel, ví dụ: A6? –

+0

ok ... chắc chắn ... nhưng tôi vẫn không thể lưu trữ nhận xét đó trong bất kỳ biến nào. Nó cho tôi lỗi – Priyanka

Trả lời

6

Về cơ bản bạn đã có nó, nhưng như Wimbo đã nói, 0 không phải là phạm vi hợp lệ.

Khi xen kẽ với Office từ .Net, mảng luôn bắt đầu từ một. Một loạt là một mảng 2D, vì vậy một khi bạn có một phạm vi, ô trên cùng bên trái trong phạm vi đó được truy cập như vậy:

using Excel = Microsoft.office.Interop.Excel; 
Excel.Range range = worksheet.Cells[1,1]; 

Để truy cập vào ô phía dưới một trên bên trái, bạn sẽ làm điều này:

Excel.Range range = worksheet.Cells[2,1]; //It goes row, then column 

để truy cập vào tế bào một ở bên phải của ô trên cùng bên trái, bạn làm như sau:

Excel.Range range = worksheet.Cells[1,2]; 

Nếu bạn đang làm việc trong Net 4 hoặc cao hơn, bạn không cần phải xác định tùy chọn thông số (trong các từ khác bạn có thể thả tất cả các số Missing.Value 's). Tôi đoán bạn muốn nhận được nhận xét trong Ô A1 trên Trang tính 1 trong sổ làm việc, tôi sẽ làm như sau:

using System.Runtime.InteropServices; 
using Excel = Microsoft.Office.Interop.Excel; 

namespace ExcelComments 
{ 
    class Program 
    { 
     static void Main() 
     { 
      var application = new Excel.Application(); 
      var workbook = application.Workbooks.Open(@"C:\Yada yada\workbook with comments.xlsx"); 
      Excel.Worksheet worksheet = workbook.Sheets[1]; 

      Excel.Range range = worksheet.Cells[1, 1]; 

      //Here is your comment as a string 
      var myComment = range.Comment.Text(); 

      workbook.Close(false); 
      application.Quit(); 

      Marshal.ReleaseComObject(application); 
     } 
    } 
} 
+0

Cảm ơn rất nhiều ..... Nó hoạt động !!!!! Cảm ơn một tấn nữa !!!!! – Priyanka