community launch 2010 rj

14
Community Launch VS 2010 Rio de Janeiro Patrocínio Manipulando Arquivos Office com Open XML

Upload: carlos-eduardo-ferreira-de-souza

Post on 26-Jul-2015

299 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Community Launch 2010 RJ

Community Launch VS 2010

Rio de Janeiro

Patrocínio

Manipulando Arquivos Office com Open XML

Page 2: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Cadu Souza

Análise e Desenvolvimento de Software

Empresa: www.Softcorp.com.br

E-mail: [email protected]

Twitter: www.twitter.com/cadu_sza

Page 3: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

O que é Open XML?

Padrão aberto para representação de documentosCriado pela Microsoft e suportado por orgãos internacionais( ISO)Utilizado por produtos de plataformas não windows.Livre de Royalties

Page 4: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Office antes do Open XML

Padrão binário parcialmente documentado( office automation – Modelo baseado em COM)Não suportado no servidor( Office 2000 e XP )Difícil de manipular a partir de aplicativos.Manipulação através do VSTO ( Office 2003 )Díficil de interoperar.

Page 5: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Vantagens do Open XML

É um padrão aberto livre de licenças e royalties.Extrema facilidade de manipular os dados dentro do documento a partir de um aplicativo.Interoperável.Fácil leitura de um documento Open XML em plataformas não windows.Tamanho do arquivo reduzido ( até 50% )

Page 6: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Open XML interoperabilidade

Linux Java Microsoft COM

ZIP LibraryMinizip

zLib

J2SEjava.util.zip

.NET Framework 3.0

System.IO. Packaging*

Microsoft SDK for Open XML Formats **Xceed .NET

controls

Xceed ActiveX controls

XML Library Apache Xerces

JAXP.NET Framework

3.0System.Xml

MSXML

Page 7: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Arquitetura do Open XML

Common Package Parts

Pack

age R

ela

tionsh

ips

Core Properties

Digital Signatures

Specific Format PartsOffice

Document

Part

R

ela

tionsh

ips Binary Part

XML Part

Part

R

els

Etc…

Content Types Stream

Page 8: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Formatos de Arquivo do Open XML do Microsoft Office

Sem Macros Com Macros

Open Packaging Convention

Documento Template Document Template

docx dotx docm dotm

pptx potx pptm potm

xlsx xltx xlsm xltm

Page 9: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Analisando um documento Open XML

Page 10: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

API´s de desenvolvimento

Packaging API : Gerenciamento do arquivo ZIPXML( DOM, XPath etc.. ) e LINQ To XML: Gerenciamento de XMLOpen XML SDK: Gerenciamento de arquivos Open XML

Page 11: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Utilizando Packaging API

Presente no .NET Framework a partir da versão 3.0Utilizada para manipular arquivos ZIPPossui 3 Classes principais

- Package - PackagePart - PackageRelationship

Page 12: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Open XML SDK 2.0

Suporte ao padrão ISOPossui uma biblioteca mais “tipada”Possui uma boa documentaçãoTraz utilitários de apoio ao desenvolvimento utilizando o SDK

- DocumentReflector - OpenXmlClassesExplorer - OpenXmlDiff

Page 13: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Demo

Desenvolvendo com Open XML

Page 14: Community Launch 2010 RJ

Community Launch VS 2010 – Rio de Janeiro http://rj.dotnetarchitects.net

Perguntas?

Links Úteishttp://openxmldeveloper.orghttp://msdn.microsoft.com/en-us/office/bb265236.aspx