2010-06-23 3 views

Répondre

2

Les anciennes versions d'Office utilisées pour prendre en charge OLE Embedding vous permettent d'afficher leur contenu dans un navigateur Web du contrôle DsoFramer. Ces jours sont finis, DsoFramer n'est plus disponible et Office version ~ 2007 ouvre les documents dans leur propre programme. Vous ne pouvez plus faire ce travail.

3

How to use the WebBrowser control to open Office documents in Visual C# 2005 or in Visual C# .NET

Si vous utilisez la version plus récente d'Office, vous pouvez travailler avec des documents via OpenXML SDK. Il existe des bibliothèques basées sur OOXML avec le plus haut niveau d'abstraction comme DocX ou OpenXML Document Viewer. Mais vous devrez implémenter le contrôle de la visionneuse vous-même.

+1

cela ne fonctionne pas dans VS 2008, une autre solution? –

0

Ce qui a fonctionné pour nous était de télécharger le document sur le poste de travail local. Stockez-le quelque part dans le chemin des dossiers personnels des utilisateurs. Afficher en utilisant le logiciel installé sur le système.

Obtenez le chemin du dossier personnel en utilisant ceci:

Environment.GetFolderPath(Environment.SpecialFolder.Personal) 

Téléchargez le fichier à ce chemin.
shell ensuite vers le fichier en utilisant quelque chose comme ceci:

if (File.Exists(fullLocalDocumentPath) == true) 
{ 
    System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
    proc.EnableRaisingEvents = false; 
    proc.StartInfo.FileName = fullLocalDocumentPath; 
    proc.Start(); 
} 

Cela utilisera le système d'exploitation programme configuré (basé sur l'extension de fichier) pour ouvrir le fichier et l'afficher. Ce n'est pas une solution parfaite, mais cela fonctionne pour nous et pourrait répondre à vos besoins.

Les mises en garde sont les suivants:
    affiche uniquement les fichiers avec des extensions qui sont mis en correspondance avec les applications.
    Ouvre une copie de l'application pour afficher le fichier.
    Vous devez fournir un certain mécanisme pour effacer les fichiers de téléchargement du dossier personnel
.

extensions de fichier qui souvent 'travail juste' en utilisant cette technique:
        * .doc, * .docx, * .xls, .xlsx (docx et xlsx sont Office 2007 et plus)
       
.pdf (tout le monde a ce installé, non?)
        .xps (fonctionneront si .NET installé, si vous exécutez le programme .NET ce ne sera pas un problème)
       
txt
pourrait fonctionner:
        * .pptx (nécessite power point)
ne fonctionnent que si vous avez un logiciel spécialisé installé:
    fichiers Visio, Autocad, etc.

Cela peut fonctionner même si l'utilisateur n'a pas installé Office.L'utilisateur doit simplement installer les applications de lecture gratuites de MS.

+1

je l'ai besoin intégré dans l'application, cela ne fonctionnera pas avec ma solution –

2

@ hans-passant: Mais je le fais par le composant DsoFramer. Le composant fonctionne correctement pour Word 2007 et Word 2010. De nombreuses fonctionnalités existent de cette manière. À la vôtre.

+0

y at-il un bon exemple sur internet? Merci de répondre – Pritesh