La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

« Les Mercredis du développement » Nouveau format de fichier Template Solution Présenté par Pierre Lagarde Relation Développeurs.

Présentations similaires


Présentation au sujet: "« Les Mercredis du développement » Nouveau format de fichier Template Solution Présenté par Pierre Lagarde Relation Développeurs."— Transcription de la présentation:

1 « Les Mercredis du développement » Nouveau format de fichier Template Solution Présenté par Pierre Lagarde pierlag@microsoft.com Relation Développeurs Microsoft France Level 200

2 Nouveau format de fichier Office "12" IntroductionArchitectureAvantages Scénario de développement Template Office "12" Customisation de linterface utilisateur Données XML dans les documents Agenda

3 Evolution des formats Office 2000 Innovation Propriétés du document sauvegardé en XML Office 97 Nouveau format binaire (celui daujourdhui) Office XP Premier format XML Feuille de calcul Excel Office 2003 Support du format XML WordML, ExcelML Schéma métier Office 12 Nouveaux formats XML Format XML par défaut Word, Excel, Powerpoint 12

4 Manipuler les documents office aujourdhui Office 2000/XP Par automation en utilisant le model objet COM Scénario server, installer Office sur le serveur Pas supporté Problème de performance Problème de montée en charge Office 2003 Meilleur support des scénarii serveur WordML et ExcelML Mise à disposition dun « Data Island » manipulable via des class de VSTO Nécessite la connaissance des schémas XML Office 2003 Nécessite parfois des transformations XSLT

5 Microsoft Office Open XML File Formats Macro-FreeMacro-Enabled DocumentTemplateDocumentTemplate docxdotxdocmdotm pptxpotxpptmpotm xlsxxltxxlsmxltm Open Packaging Convention

6 Compatibilité Office "12" Support des formats Office 97-2003 binaire Possibilité de changer le type de sauvegarde par défaut Continuité dans le format XML dOffice 2003 et XP Office 2000, Office XP, Office 2003 supporteront le nouveau format Patch disponible au lancement dOffice "12" Ouverture, Edition et Sauvegarde

7 Office Open XML Architecture Questionnaire. docx Vu Utilisateur: Un seul fichier

8 Office Open XML Architecture Questionnaire. docx Vu Utilisateur: Un seul fichier Vu développeur: fichier zip Questionnaire. docx

9 Office Open XML Architecture Questionnaire. docx Questionnaire. docx Package Vu Utilisateur: Un seul fichier Vu développeur: fichier zip

10 Office Open XML Architecture Questionnaire. docx Questionnaire. docx Package [Content Types].xml Vu Utilisateur: Un seul fichier Vu développeur: fichier zip

11 Office Open XML Architecture Questionnaire. docx Questionnaire. docx Package Document Parts word / xl / ppt [Content Types].xml Vu Utilisateur: Un seul fichier Vu développeur: fichier zip

12 Office Open XML Architecture Questionnaire. docx Questionnaire. docx Package Document, Application, Custom Document Properties docProps Document Parts word / xl / ppt [Content Types].xml Vu Utilisateur: Un seul fichier Vu développeur: fichier zip

13 Office Open XML Architecture Questionnaire. docx Questionnaire. docx Package Relationships _rels Document, Application, Custom Document Properties docProps Document Parts word / xl / ppt [Content Types].xml Vu Utilisateur: Un seul fichier Vu développeur: fichier zip

14 Office Open XML Architecture Questionnaire. docx Questionnaire. docx Package Relationships _rels Document, Application, Custom Document Properties docProps Document Parts word / xl / ppt [Content Types].xml Custom Defined XML, Macros, … custom fld Vu Utilisateur: Un seul fichier Vu développeur: fichier zip

15 Nouveau format de fichier demo demo

16 Scénario Développeur Créer des solutions de lecture, écriture modification sur les fichiers Office sans passer par lAPI Office Utilisation des API WinFX Ouverture du fichier Open XML Office Maintien des « Part » et des « Relations » dans le fichier Programmation XML XPath – Navigation dans le contenu XML DOM – Manipulation du contenu

17 API WinFx Microsoft WinFX Software Development Kit (SDK CTP Janvier) System.IO.Packaging namespace Ajouter des Part, Mise à jour du contenu, Créer des nouvelles relations Importer les Classes Package,PackagePart,PackageRelationship

18 System.IO.Packaging using (Package package = Package.Open(packagePath, FileMode.Open,FileAccess.ReadWrite)) { Uri uriPartTarget = new Uri("/word/styles1.xml", UriKind.Relative); PackagePart newPackagePart = package.CreatePart(uriPartTarget, "application/vnd.ms-word.styles+xml"); using (FileStream fileStream = new FileStream(stylePath, FileMode.Open, FileAccess.Read)) { CopyStream(fileStream, newPackagePart.GetStream()); } } 1. Open the package

19 System.IO.Packaging using (Package package = Package.Open(packagePath, FileMode.Open,FileAccess.ReadWrite)) { Uri uriPartTarget = new Uri("/word/styles1.xml", UriKind.Relative); PackagePart newPackagePart = package.CreatePart(uriPartTarget, "application/vnd.ms-word.styles+xml"); using (FileStream fileStream = new FileStream(stylePath, FileMode.Open, FileAccess.Read)) { CopyStream(fileStream, newPackagePart.GetStream()); } } 1. Open the package 2. Access a document part (GetPart)

20 System.IO.Packaging using (Package package = Package.Open(packagePath, FileMode.Open,FileAccess.ReadWrite)) { Uri uriPartTarget = new Uri("/word/styles1.xml", UriKind.Relative); PackagePart newPackagePart = package.CreatePart(uriPartTarget, "application/vnd.ms-word.styles+xml"); using (FileStream fileStream = new FileStream(stylePath, FileMode.Open, FileAccess.Read)) { CopyStream(fileStream, newPackagePart.GetStream()); } } 1. Open the package 2. Access a document part (GetPart) 3. Create a document part (CreatePart)

21 System.IO.Packaging using (Package package = Package.Open(packagePath, FileMode.Open,FileAccess.ReadWrite)) { Uri uriPartTarget = new Uri("/word/styles1.xml", UriKind.Relative); PackagePart newPackagePart = package.CreatePart(uriPartTarget, "application/vnd.ms-word.styles+xml"); using (FileStream fileStream = new FileStream(stylePath, FileMode.Open, FileAccess.Read)) { CopyStream(fileStream, newPackagePart.GetStream()); } } 1. Open the package 2. Access a document part 3. Create a document part 4. Add content to the document part

22 Scénario développeur - Génération de document - Assemblage dun document - Manipulation de document demo demo

23 Customisation de linterface utilisateur dans les templates Office "12" Les templates Office "12" peuvent stocker un fichier XML de description dinterface pour Ajouter des onglets Ajouter des entrées dans le menu fichier Ajouter des contrôles dans les onglets Avantages Customisation de linterface utilisateur par template de document Facile à mettre en place pour le développeur

24 Deux méthodes de customisation de linterface Dans le template (Statique) Inclu dans le documentX Possibilité de faire des actions via VBA Sous forme dApplication (dynamic) Via.NET « shared add-in » Specific Doc/Template Doc Parts Custom UI Action Handlers Any Document Custom UI Action Handlers Shared Add-In

25 Customisation (Statique) 1. Créer un fichier XML de description du Ruban 2. Ouvrir le fichier ZIP Office "12" 3. Ajouter le fichier XML Ruban au ZIP 4. Ajouter un nouveau « Content type » 5. Ajouter une nouvelle relation 6. Renommer le fichier ZIP en template Office "12"

26 Customisation (Statique) demo demo

27 Stockage XML dans les documents Office 12 Les données XML sont séparées du reste du document Toutes les données sont stockés en XML Les propriétés du document Les métadonnées WSS Les données utilisateurs (avec ou sans schéma) Les données XML sont exploitables via DOM sans utiliser lAPI Office "12" Doc/Template Doc Parts VBA XML External App

28 Les XML dans les documents Sans schéma (VBA ou WordML et Excel ML)

29 Les XML dans les documents Avec schéma Customers oContentControl.XMLMapping.SetMapping(xpath,, oCustomXMLPart)

30 Données métier XML dans les documents Office "12" demo demo

31


Télécharger ppt "« Les Mercredis du développement » Nouveau format de fichier Template Solution Présenté par Pierre Lagarde Relation Développeurs."

Présentations similaires


Annonces Google