Wskazówki: osadzanie informacji o typie z zestawów Microsoft Office (C# i Visual Basic)
Jeżeli informacje o typie zostały osadzone w aplikacji, która odwołuje się do obiektów COM, można wyeliminować potrzebę zestawu podstawowej usługi międzyoperacyjnej (PIA).Dodatkowo informacje o typie osadzony pozwalają osiągnąć niezależność twojej aplikacji.Oznacza to, że program może być napisany tak, by używał typów z wielu wersji biblioteki COM bez konieczności określonego PIA dla każdej wersji.Jest to typowy scenariusz dla aplikacji korzystających z obiektów bibliotek Microsoft Office.Osadzanie informacji o typie umożliwia tym samym kompilację programu do pracy z różnymi wersjami pakietu Microsoft Office na różnych komputerach bez konieczności ponownego wdrażania programu lub PIA dla każdej wersji pakietu Microsoft Office.
W tym instruktażu wykonasz następujące zadania:
Aby opublikować aplikacje na komputerze, na którym zainstalowana jest inna wersja Microsoft Office.
Aby opublikować aplikacje na komputerze, na którym zainstalowana jest inna wersja Microsoft Office.
[!UWAGA]
Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.
Wymagania wstępne
Ten poradnik wymaga poniższego:
Komputer, na którym Visual Studio i zainstalowano program Microsoft Excel.
Drugi komputerze, na którym są zainstalowane 4.NET Framework i różne wersje programu Excel.
Aby utworzyć aplikację, która działa z wieloma wersjami Microsoft Office
Uruchom Visual Studio na komputerze, na którym zainstalowany jest program Excel.
W pasku menu wybierz Plik, Nowy, Projekt.
W oknie dialogowym Nowy projekt w okienku Typy projektu upewnij się, że zaznaczono Windows.Wybierz Aplikacja konsoli w oknie Szablony.W polu tekstowym Nazwa wprowadź CreateExcelWorkbook, a następnie wybierz przycisk OK.Nowy projekt zostanie utworzony.
Jeśli używasz Visual Basic, otwórz menu skrótów projektu CreateExcelWorkbook, a następnie wybierz Właściwości.Wybierz zakładkę Odwołania.Wybierz przycisk Dodaj.Jeśli używasz Visual C#, w Eksploratorze rozwiązań otwórz menu skrótów foldera Odwołanie, a następnie wybierz polecenie Dodaj odwołanie.
W zakładce .NET wybierz najbardziej aktualną wersję Microsoft.Office.Interop.Excel.Na przykład Microsoft.Office.Interop.Excel 14.0.0.0.Wybierz przycisk OK.
Na liście odniesień do projektu CreateExcelWorkbook zaznacz odwołanie do Microsoft.Office.Interop.Excel, które zostało dodane w poprzednim kroku.W oknie Właściwości okna, upewnij się, że właściwość Embed Interop Types jest ustawiona na True.
[!UWAGA]
Aplikacja utworzone w tym instruktażu działa z różnymi wersjami pakietu Microsoft Office dzięki informacji osadzonego typu międzyoperacyjnego.Jeśli właściwość Embed Interop Types jest ustawiona na False, musisz uwzględnić PIA dla każdej wersji pakietu Microsoft Office, z którą aplikacja będzie uruchamiana.
Jeśli używasz Visual Basic, otwórz plik Module1.vb.Jeśli używasz Visual C#, otwórz plik Program.cs.Zatąp kod w pliku z następującym kodem:
Imports Excel = Microsoft.Office.Interop.Excel Module Module1 Sub Main() Dim values = {4, 6, 18, 2, 1, 76, 0, 3, 11} CreateWorkbook(values, "C:\SampleFolder\SampleWorkbook.xls") End Sub Sub CreateWorkbook(ByVal values As Integer(), ByVal filePath As String) Dim excelApp As Excel.Application = Nothing Dim wkbk As Excel.Workbook Dim sheet As Excel.Worksheet Try ' Start Excel and create a workbook and worksheet. excelApp = New Excel.Application wkbk = excelApp.Workbooks.Add() sheet = CType(wkbk.Sheets.Add(), Excel.Worksheet) sheet.Name = "Sample Worksheet" ' Write a column of values. ' In the For loop, both the row index and array index start at 1. ' Therefore the value of 4 at array index 0 is not included. For i = 1 To values.Length - 1 sheet.Cells(i, 1) = values(i) Next ' Suppress any alerts and save the file. Create the directory ' if it does not exist. Overwrite the file if it exists. excelApp.DisplayAlerts = False Dim folderPath = My.Computer.FileSystem.GetParentPath(filePath) If Not My.Computer.FileSystem.DirectoryExists(folderPath) Then My.Computer.FileSystem.CreateDirectory(folderPath) End If wkbk.SaveAs(filePath) Catch Finally sheet = Nothing wkbk = Nothing ' Close Excel. excelApp.Quit() excelApp = Nothing End Try End Sub End Module
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using Excel = Microsoft.Office.Interop.Excel; namespace CreateExcelWorkbook { class Program { static void Main(string[] args) { int[] values = {4, 6, 18, 2, 1, 76, 0, 3, 11}; CreateWorkbook(values, @"C:\SampleFolder\SampleWorkbook.xls"); } static void CreateWorkbook(int[] values, string filePath) { Excel.Application excelApp = null; Excel.Workbook wkbk; Excel.Worksheet sheet; try { // Start Excel and create a workbook and worksheet. excelApp = new Excel.Application(); wkbk = excelApp.Workbooks.Add(); sheet = wkbk.Sheets.Add() as Excel.Worksheet; sheet.Name = "Sample Worksheet"; // Write a column of values. // In the For loop, both the row index and array index start at 1. // Therefore the value of 4 at array index 0 is not included. for (int i = 1; i < values.Length; i++) { sheet.Cells[i, 1] = values[i]; } // Suppress any alerts and save the file. Create the directory // if it does not exist. Overwrite the file if it exists. excelApp.DisplayAlerts = false; string folderPath = Path.GetDirectoryName(filePath); if (!Directory.Exists(folderPath)) { Directory.CreateDirectory(folderPath); } wkbk.SaveAs(filePath); } catch { } finally { sheet = null; wkbk = null; // Close Excel. excelApp.Quit(); excelApp = null; } } } }
Zapisz projekt.
Naciśnij CTRL+F5 aby skompilować i uruchomić projekt.Weryfikuj utworzenie arkusza Excel w lokalizacji określone w przykładowym kodzie: C:\SampleFolder\SampleWorkbook.xls.
Aby opublikować aplikacje na komputerze, na którym zainstalowana jest inna wersja Microsoft Office
Otwórz projekt utworzony w tym instruktażu w Visual Studio.
Z menu Kompilacja wybierz Publikuj CreateExcelWorkbook.Wykonaj kroki Kreatora publikacji, aby utworzyć instalowalną wersję aplikacji.Aby uzyskać więcej informacji, zobacz Kreator publikacji (Office Development w Visual Studio).
Zainstaluj aplikację na komputerze, na którym są zainstalowane 4.NET Framework i różne wersje programu Excel.
Po ukończeniu instalacji, uruchom zainstalowany program.
Weryfikuj utworzenie arkusza Excel w lokalizacji określone w przykładowym kodzie: C:\SampleFolder\SampleWorkbook.xls.
Zobacz też
Zadania
Wskazówki: osadzanie typów z zarządzanych zestawów (C# i Visual Basic)