Có nhiều loại addin cho excel, mình xin chia sẻ những điều theo ý mình hiểu:
- Addin viết bằng VBA (file .xla, .xlam)
- COM addin: không chứa UDF để gõ công thức trực tiếp trong cell, MS đặt ra một khuôn mẫu (interface) IDTExtensibility2 mà tất cả COM addin bắt buộc phải thực hiện (implement). IDTExtensibility bao gồm các phương thức như OnConnection, OnDisconnection... Các COM addin tương tác với excel thông qua các phương thức này.
VSTO addin cũng là COM addin nhưng đơn giản hơn. VSTO đã tự implement IDTExtensibility2, ta không cần viết các method OnConnection,... nữa, thay vào đó VSTO đưa ra interface mới là IStartUp chỉ bao gồm method Startup và Shutdown.
Một số phần mềm để tạo addin cũng tương tự như VSTO, chẳng hạn Addin Express. Đây là phần mềm khá mạnh, tạo được nhiều loại addin, tuy nhiên giá cao.
- Automation addin: có thể tạo UDF để gõ công thức trên cell. Addin này có thể tạo bằng VB6 (ActiveX DLL) hay .NET (ví dụ với C# là project class library)
- XLL addin, thực chất là các DLL, có thể tạo UDF để gõ trên cell. Để tạo XLL có thể dùng C++ hoặc .NET với Excel DNA hay Addin express. Về mặt kỹ thuật, mình chưa phân biệt rõ được automation addin và xll.
- Web addin: sử dụng HTML, JavaScript để tạo, phục vụ chạy đa nền tảng: Windows, Mac, web.