Tôi hiện đang viết về kiểu nhập động và tôi đang đưa ra một ví dụ về phép tương tác trong Excel. Tôi hầu như không thực hiện bất kỳ tương tác Office nào trước đây và nó hiển thị. Các MSDN Văn phòng Interop hướng dẫn cho C # 4 sử dụng _Worksheet
giao diện, nhưng cũng có một Worksheet
giao diện. Tôi không biết sự khác biệt là gì.
Trong ứng dụng demo đơn giản đến mức ngớ ngẩn của tôi (được hiển thị bên dưới) hoặc hoạt động tốt - nhưng nếu phương pháp hay nhất ra lệnh cho cái này hay cái khác, tôi muốn sử dụng nó một cách thích hợp.
using System;
using System.Linq;
using Excel = Microsoft.Office.Interop.Excel;
class DynamicExcel
{
static void Main()
{
var app = new Excel.Application { Visible = true };
app.Workbooks.Add();
// Can use Excel._Worksheet instead here. Which is better?
Excel.Worksheet workSheet = app.ActiveSheet;
Excel.Range start = workSheet.Cells[1, 1];
Excel.Range end = workSheet.Cells[1, 20];
workSheet.get_Range(start, end).Value2 = Enumerable.Range(1, 20)
.ToArray();
}
}
Tôi đang cố gắng tránh đi sâu vào khả năng tương tác của COM hoặc Office, chỉ làm nổi bật các tính năng mới của C # 4 - nhưng tôi không muốn làm bất cứ điều gì thực sự, thực sự ngớ ngẩn.
(Có thể có điều gì đó thực sự, thực sự ngớ ngẩn trong đoạn mã trên, trong trường hợp đó, vui lòng cho tôi biết. Việc sử dụng các ô bắt đầu / kết thúc riêng biệt thay vì chỉ "A1: T1" là có chủ ý - dễ thấy rằng đó thực sự là một phạm vi trong số 20 ô. Bất kỳ điều gì khác có thể là ngẫu nhiên.)
Vì vậy, tôi nên sử dụng _Worksheet
hoặc Worksheet
, và tại sao?