Integrar MS Word, Excel y PowerPoint en una aplicación WPF
¿Cómo integrar MS Word, Excel, PowerPoint en una aplicación WPF? Supongo que la mayoría de ustedes recuerdan la vieja tecnología OLE que permitía incrustar diagramas de Excel en documentos de Word, etc. Pero la tecnología no soporta todos los documentos de Microsoft Office. No soporta la instancia múltiple de MS Word en un formulario. Edraw office viewer component, como las alternativas en Internet, es la solución más simple y fiable que permite a los desarrolladores alojar documentos de MS Word, hojas de cálculo de Excel, presentaciones de PowerPoint en una aplicación WPF.
Con este componente WPF, los desarrolladores pueden incrustar MS Word, MS Excel, MS PowerPoint en la aplicación WPF colocando una instancia de Office Viewer en el formulario principal.
Haz clic aquí para descargar Office Component - Support MS Word, Excel, PowerPoint, Visio, Project para el programa WPF.
El siguiente artículo demostrará cómo integrar un MS word en una aplicación wpf paso a paso.
Si no tienes el archivo officeviewer.ocx, necesitas instalar el paquete primero. En la carpeta de instalación del componente, también puedes encontrar el proyecto de ejemplo wpf.
Abre el Visual Studio y crea una nueva aplicación WPF.
Haz clic con el botón derecho en la solución WpfApplication1. A continuación, haz clic en el menú Añadir y señala el Control de usuario...
Se añadirá un nuevo formulario de ventana en el proyecto wpf.
Elige el elemento "Control de usuario". No el elemento "Control de usuario (WPF)".
Haz doble clic en UserControl1.CS en el panel Solución.
Abra el panel Caja de herramientas y, a continuación, haga clic en Elegir elementos... En el menú contextual.
En el cuadro de diálogo emergente "Elegir Elementos de la caja de herramientas", selecciona el componente Visor de Edraw Office y, a continuación, haz clic en Ok.
Ahora se ha añadido Edraw Office Viewer Component en la pestaña General de la caja de herramientas. Arrástralo en el formulario UserControl.
La AxEDofficeLib y la EDOfficeLib serán añadidas a la solución por el asistente de Visual Studio.
Escribe los siguientes códigos C# para abrir un documento de Word y proteger el documento de Word de la modificación:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WpfApplication1
{
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public void Open()
{
axEDOffice1.OpenFileDialog();
}
public void Protect()
{
if (axEDOffice1.GetCurrentProgID() == "Word.Application")
{
axEDOffice1.ProtectDoc(2);
}
}
public void Print()
{
axEDOffice1.PrintPreview();
}
public void Close()
{
axEDOffice1.ExitOfficeApp();
}
}
}
Por último, es necesario escribir una ventana de host para el UserControl. Cambiar al archivo Windows1.xaml a continuación, añade el botón de abrir, proteger, imprimir y cerrar como la siguiente imagen.
Añade el siguiente código c# para asociar el componente office.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication1
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Open_Click(object sender, RoutedEventArgs e)
{
_host.Open();
}
private void Protect_Click(object sender, RoutedEventArgs e)
{
_host.Protect();
}
private void Print_Click(object sender, RoutedEventArgs e)
{
_host.Print();
}
private void Close_Click(object sender, RoutedEventArgs e)
{
_host.Close();
}
}
}
Abre el Administrador de configuración. Cambia la plataforma de solución activa como opción x86. A continuación, compila y ejecuta.
Office viewer component soporta todas las versiones de MS Word. Para incrustar MS Excel o PowerPoint, Visio, Project en una aplicación WPF, no necesitas cambiar nada, sólo activar el método de apertura, como sigue:
public void Open()
{
//axEDOffice1.OpenFileDialog();
axEDOffice1.Open(sPath, "Word.Application");
axEDOffice1.Open(sPath, "Excel.Application");
axEDOffice1.Open(sPath, "PowerPoint.Application");
axEDOffice1.Open(sPath, "Visio.Application");
axEDOffice1.Open(sPath, "MSProject.Application");
}
Te puede interesar
Integrar MS Office en el programa ASP.NET
Una forma sencilla de integrar Excel en una página web