2010-01-14 63 views
43

Tôi khá bối rối với những công cụ cần thiết cho việc phát triển VSTO. Cụ thể là tôi muốn thao tác các tài liệu Excel 2003/2007 theo lập trình. Tôi đã làm khá nhiều VBA trước đây, nếu bạn muốn liên kết bất kỳ câu trả lời cho điều đó.Bắt đầu phát triển VSTO

vài câu hỏi tôi có khoảng VSTO:

  1. Tôi có thể sử dụng Visual Studio 2008 Express Edition C#/C++ cho việc này?
  2. Tôi có cần cài đặt .NET framework không?
  3. Chương trình VSTO có cần phải có bản sao Office được cài đặt trong cùng một hệ thống để chạy không?

Liên kết trực tiếp tới các công cụ/plugin/IDE có liên quan sẽ được đánh giá cao.

Lưu ý: Tôi hoàn toàn mới đối với VSTO và .NET nhưng là người dùng Office. Tôi có kinh nghiệm với lập trình COM.

Trả lời

62

Yeah, nó có thể gây nhầm lẫn, đặc biệt là cho các quy ước đặt tên bỏ qua cấp, vv Về cơ bản, bạn sẽ cần:

  • phiên bản đầy đủ (Không Thể hiện) của Visual Studio và phiên bản .NET bạn đang nhắm mục tiêu.
  • Một trong những lần chạy VSTO (VSTO 2003, VSTO 2005, VSTO 2005 SE, VSTO 2008, VSTO 2010). Đối với những gì bạn yêu cầu, VSTO 2005 SE có lẽ là đặt cược tốt nhất của bạn.
  • Khi phân phối ứng dụng của bạn, bạn sẽ cần thêm , như PIA và phiên bản .NET bạn đã nhắm mục tiêu. Đối với VSTO 2010, bạn không cần PIA (chỉ những gì bạn đang sử dụng sẽ được đóng gói tự động với ứng dụng của bạn).

Một vài lời khuyên sau:

  • Đi từ VBE bên trong văn phòng để VSTO phải là một mịn-ish di chuyển nếu bạn đã sử dụng .NET để nhiều mức độ.
  • Các phiên bản VSTO của mô hình đối tượng cho bất kỳ chương trình nào đó (Excel, PowerPoint , vv) có thể có một vài chi tiết cách để làm điều đó là khác nhau/tốt hơn so với phiên bản VBA của đối tượng mô hình. Ví dụ: , điều khiển Dấu trang cho Từ trong VSTO 2008 không giống với từ gốc có thể được truy cập qua VBA.
  • Phân phối ứng dụng của bạn có thể là một nỗi đau. Đây là lý do mà VSTO cho Visual Studio 2010 không yêu cầu bạn để bao gồm các tệp tương tác đầy đủ (PIA) với gói của bạn.
  • nhắm mục tiêu các phiên bản khác nhau của văn phòng với cùng một giải pháp không phải là hỗ trợ chính thức cho tiền VSTO 2010. Có nhiều cách xung quanh vấn đề này mà một số người đã nói về, nhưng bạn sẽ không nhận được nhiều sự ủng hộ từ MSFT trên đó.

Có một số trang web mà bạn nên có một cái nhìn tại địa chỉ:

  • Requirements VSTO solutions. Đây là phiên bản cũ hơn nhưng hữu ích khi đọc về sự khác biệt giữa các phiên bản 2005 và 2005 SE. This one cũng phong nha ở chỗ nó bao gồm phiên bản 2008.
  • Online resources for VSTO. Điều này là một trang web 'nhảy' tốt cho việc học tập thêm về VSTO.
  • Getting Started (Visual Studio Tools for Office). Điều này, và nó là trang liên kết chị em, là bước nhảy tốt trang. Không hữu ích nếu bạn chỉ cần tăng tốc với VSTO, nhưng sẽ tốt hơn một chút sau đó.
  • Can you build one add-in for multiple versions of Office?. Đây là phiên bản cũ hơn nhưng thảo luận về một số trong số các vấn đề xung quanh việc xây dựng cho nhiều phiên bản của Office.
  • This site được sử dụng để tốt hơn được tổ chức, nhưng tôi luôn thấy rằng video là một cách rất nhanh để tìm hiểu. Hầu hết các video này sử dụng một phiên bản của VSTO.

Cuối cùng, để tiết kiệm tốt nhất cho cuối cùng, đây là cuốn sách tôi đọc khi tôi chỉ mới bắt đầu và nó đã rất hữu ích: VSTO for Mere Mortals(TM): A VBA Developer's Guide to Microsoft Office Development Using Visual Studio 2005 Tools for Office

+0

Wow, câu trả lời sát thủ. +1 –

+0

yea .. cảm ơn bạn đã dành thời gian giải thích chi tiết. Tôi hơi buồn khi biết rằng tôi thể hiện công việc không thể. – idazuwaika

+0

câu trả lời tuyệt vời Ông Otaku (như thường lệ) –

4

là thành phần bảng tính tương thích với Excel. .NET sẽ hoạt động với phiên bản Visual Studio Express, yêu cầu .NET 2.0 trở lên, không yêu cầu cài đặt Office hoặc Excel và cho phép phân phối miễn phí bản quyền của máy tính khách và/hoặc máy chủ.

Bạn có thể xem mẫu trực tiếp here và tải xuống bản dùng thử miễn phí here.

Disclaimer: Tôi sở hữu SpreadsheetGear LLC

+0

bảng tính cho .net là rất tốt. SO thật tuyệt vời - chúng tôi có thể thấy mọi người đăng bài ở đây đang thực hiện một số công việc thực sự tuyệt vời. cho đến nay tôi đã nhìn thấy joel, jesse tự do và bây giờ bạn! –

0

Bạn có thể tạo nổi trội với Express Edition sử dụng Excel .NET component này. Nó không yêu cầu tự động hóa VSTO, ADO hoặc MS Excel.

Thành phần Excel Jetcell .NET cho phép đọc bảng tính excel. Ở đây bạn có thể tìm thấy nhiều Excel VB.NET and C# examples. Ví dụ, xem mã VB.NET để tạo bảng tính excel từ mảng:

Imports DTG.Spreadsheet 
... 
Dim WBook = New ExcelWorkbook() 
WBook.Worksheets.Add("ArrayValues") 
For i As Short = 0 To 10 
    For j As Short = 0 To 10 
     WBook.Worksheets(0).Cells[i,j].Value = arr(i,j) 
     j = j + 1 
    Next j 
    i = i + 1 
Next i 
WBook.WriteXLSX("ExcelSpreadsheet.xlsx") 
Các vấn đề liên quan