Office Open XML

Office Open XML Document
扩展名
.docx, .docm
互联网媒体类型
application/vnd.
openxmlformats-officedocument.
wordprocessingml.
document[1]
开发者微软, Ecma, ISO/IEC
首次发布2006年12月7日,​17年前​(2006-12-07
最新版本
第3版
2012年8月15日,​11年前​(2012-08-15
格式类型文件檔案格式
扩展自XML, DOC, WordProcessingML
标准ECMA-376, ISO/IEC 29500
网站ECMA-376, ISO/IEC 29500-1:2012
Office Open XML Presentation
扩展名
.pptx, .pptm
互联网媒体类型
application/vnd.
openxmlformats-officedocument.
presentationml.
presentation[1]
开发者微软, Ecma, ISO/IEC
首次发布2006年12月7日,​17年前​(2006-12-07
最新版本
第3版
2011年6月29日,​12年前​(2011-06-29
格式类型簡報
扩展自XML, PPT
标准ECMA-376, ISO/IEC 29500
网站ECMA-376, ISO/IEC 29500:2008
Office Open XML Workbook
扩展名
.xlsx, .xlsm
互联网媒体类型
application/vnd.
openxmlformats-officedocument.
spreadsheetml.
sheet[1]
开发者微软, Ecma, ISO/IEC
首次发布2006年12月7日,​17年前​(2006-12-07
最新版本
第三版
2011年6月29日,​12年前​(2011-06-29
格式类型电子试算表
扩展自XML, XLS, SpreadsheetML
标准ECMA-376, ISO/IEC 29500
网站ECMA-376, ISO/IEC 29500:2008

Office Open XML(縮寫:Open XMLOpenXMLOOXML),為由Microsoft開發的一種以XML為基礎並以ZIP格式壓縮的電子文件規範,支持文件表格備忘錄幻燈片等檔案格式。

OOXML在2006年12月成為了ECMA規範的一部分,編號為ECMA-376;並於2008年4月通過國際標準化組織的表決,在兩個月後公佈為ISOIEC 29500國際標準。微軟推出這個格式,很多人認為是出於商業考量。[2]許多專家指出,該標準並不是個完整的標準,採用了許多微軟的獨有規格,使用上困難重重。[3][4]

从Microsoft Office 2007开始,Office Open XML文件格式已经成为Microsoft Office默认的文件格式。[5][6][7]Microsoft Office 2010支持对ECMA-376标准文档的读操作,ISO/IEC 29500 Transitional的读/写,ISO/IEC 29500 Strict的读取。[8]Microsoft Office 2013同时支持ISO/IEC 29500 Strict的读写操作。[9]

它的競爭對手是OpenDocument Format,後者是被廣泛接受的一種開放的文檔存儲和交換規範。

版本

存在以下几个版本的Office Open XML标准。

ECMA 376

ECMA 376,目前歷經4個版本,第1版(2006年12月)、第2版(2008年12月)、第3版(2011年6月)、第4版(2012年12月)。[10]

ISO/IEC 29500

ISO/IEC 29500目前最新的版本為2012年的版本 ISO/IEC标准的结构分为四部分。第1、2和3是独立的标准,第2部分用于其他文件格式,包括Design_Web_Format和XPS格式。第4部分作用是读出第1部分的变体。[11]

  • 第1部分(基础知识和标记语言参考)
  • 第2部分(解包约定)
  • 第3部分(标记兼容性和可扩展性)
  • 第4部分(过渡期迁移特性)

批評

微軟公司發表的Office Open XML使用許多非標準的規範,造成與其他辦公室軟體(例如LibreOffice)讀取時發生不相容或內容偏移的情形,目的是讓Microsoft Office保持市場優勢。

ODF(廣泛接受的開放文檔規範)編碼時會使用其他標準規範(如ISO 639MathML)來進行儲存,但OOXML使用非標準的編碼進行存取。例如 ODF 裡面的顏色代碼,不管是試算表、文件、簡報等,紅色的代碼都是 #FF0000,然而在OOXML裏隨不同產品,代碼分別為:

  • Word:#FF0000
  • Excel:#FFFF0000
  • Powerpoint:#FF0000

OOXML設計的目的是將微軟定義的 doc、ppt、xls 二進制格式轉成 XML 格式,並沒有依照 XML 的特性最佳化,而其私有格式內含的額外非標準元件也包含在內,例如ActiveX等等(過時,且容易用於攻擊);另一方面,比尔·盖茨在1998年留下的備忘錄提到「不能讓其他瀏覽器可完美顯示MS Office文件,只能讓自家公司的專屬IE可正確顯示」,現在的狀況可以說是微軟延續了比爾·蓋茲的精神,使「現代的MS Office存出的OOXML檔」刻意做成第三方軟體不能完善地解讀、呈現,顯示OOXML並非如其所聲稱的開放。[12]

Open XML Format SDK

Microsoft Open XML Format SDK[13]包含一套托管代码库用于编程以创建、操纵Office Open XML文件。并不用于代替Microsoft Office Object Model,也不提供文件格式的顶层抽象。使用Open XML SDK必须理解文档格式结构。对Word文档不提供诸如layout功能;对Excel文档,不提供诸如重新计算、数据刷新等功能。

  • 版本1.0发布于2008年6月10日。[14]配合Office Open XML规范的ISO/IEC标准化过程。[15]
  • 版本2.0: 用于.NET 3.5应用程序。支持使用.NET的强类型类来直接表示XML的element/attribute/value、 使用Office Open XML schema验证Office Open XML文档、在Office Open XML文档中搜索。该SDK建于System.IO.Packaging API之上。使用了.NET Framework Language-Integrated Query (LINQ)技术用强类型。把很多操作Open XML packages封装为API,以简化使用。
  • 版本2.5: 用于.NET 4.0应用程序。发布于2014年6月[16]并在GitHub上开源。[17]这是目前最高版本。支持Office 2013的一些新的类。读取 ISO/IEC 29500 Strict Format文档。

Open XML SDK 2.5 Productivity Tool for Microsoft Office提供许多特性,如给予文档内容产生Open XML SDK 2.5源代码,比较源与目标Open XML documents以产生源代码从源创建目标文档、验证文档、显示文档,ECMA376v1标准,Microsoft Office实现注解。

通常安装在 C:\Program Files (x86)\Open XML SDK\V2.5\。

一个Open XML文档包含多个文档部分(document part)。ZIP格式支持任意访问各个部分。例如,一个slide页面、Word文档中的comment,都是独立的文档部分。一个Open XML文档就是一个Open Packaging Conventions (OPC)包(package)。每个文档部分有个部分名字,由一系列segments或一个pathname组成,如"/word/theme/theme1.xml"。包的[Content_Types].xml部分,用于确定包中所有文档部分的内容类型。

SpreadsheetML文档

SpreadsheetML文档包含<workbook>元素,其内部包含<sheets><sheet>元素用于表示各个工作表。每个工作表被创建为一个独立的XML文件。一个spreadsheet文档还可以包含<table><chartsheet><pivotTableDefinition>等元素。

在命名空间DocumentFormat.OpenXML.Spreadsheet中定义了spreadsheet中重要的elements:

Package Part Top Level SpreadsheetML Element Open XML SDK 2.5 Class 描述
Workbook workbook Workbook 主文档part的根元素
Worksheet worksheet Worksheet A type of sheet that represent a grid of cells that contains text, numbers, dates or formulas.
Chart Sheet chartsheet Chartsheet A sheet that represents a chart that is stored as its own sheet.
Table table Table A logical construct that specifies that a range of data belongs to a single dataset.
Pivot Table pivotTableDefinition PivotTableDefinition A logical construct that displays aggregated view of data in an understandable layout.
Pivot Cache pivotCacheDefinition PivotCacheDefinition A construct that defines the source of the data in the PivotTable.
Pivot Cache Records pivotCacheRecords PivotCacheRecords A cache of the source data of the PivotTable.
Calculation Chain calcChain CalculationChain A construct that specifies the order in which cells in the workbook were last calculated.
Shared String Table sst SharedStringTable A construct that contains one occurrence of each unique string that occurs on all worksheets in a workbook.
Conditional Formatting conditionalFormatting ConditionalFormatting A construct that defines a format applied to a cell or series of cells.
Formulas f CellFormula A construct that defines the formula text for a cell that contains a formula.

参考文献

  1. ^ 1.0 1.1 1.2 Microsoft. Register file extensions on third party servers. microsoft.com. [2009-09-04]. (原始内容存档于2010-02-19). 
  2. ^ Linux基金会:微软推OOXML的理由很荒唐. 开发者在线. 2008-02-27 [2013-03-08]. (原始内容存档于2008-10-10). 
  3. ^ 共创联盟报告指微软文档标准有20大问题. 腾讯科技. 2007-08-22 [2013-03-08]. (原始内容存档于2013-10-29). 
  4. ^ OOXML: What's the big deal?. IBM developerWorks. 19 Feb 2008 [2013-03-08]. (原始内容存档于2012-01-26). 
  5. ^ Microsoft Expands List of Formats Supported in Microsoft Office. Microsoft. [2008-05-21]. (原始内容存档于2009-07-15). 
  6. ^ Microsoft's future lies somewhere beyond the Vista by Evansville Courier & Press. Courierpress.com. [2009-05-19]. (原始内容存档于2014-07-10). 
  7. ^ Rivals Set Their Sights on Microsoft Office: Can They Topple the Giant? - Knowledge@Wharton. Knowledge.wharton.upenn.edu. [2009-05-19]. (原始内容存档于2007-08-30). 
  8. ^ Overview of the XML file formats in Office 2010. [2013-03-08]. (原始内容存档于2012-11-18). 
  9. ^ Doug Mahugh. Office’s Support for ISO/IEC 29500 Strict. MSDN blogs. [2011-02-18]. (原始内容存档于2010-12-02). 
  10. ^ Standard ECMA-376. Ecma-international.org. [2009-05-19]. (原始内容存档于2011-08-24). 
  11. ^ ISO search for "29500". International Organization for Standardization. 2009-06-05 [2013-03-08]. (原始内容存档于2013-03-08). 
  12. ^ 微軟文書格式為何常跑掉?揭開 OOXML 格式大祕辛. [2017-10-18]. (原始内容存档于2017-10-19). 
  13. ^ Microsoft. Open XML Format SDK. Microsoft. 2008-06-10 [2019-06-24]. (原始内容存档于2017-10-08). 
  14. ^ Erika Ehrli. Announcing the Open XML Format SDK 1.0. Computerworld. 2008-06-10 [2019-06-24]. (原始内容存档于2008-12-12). 
  15. ^ Doug Mahugh. Open XML SDK roadmap. MSDN Blogs. [2008-03-23]. (原始内容存档于2008-03-20). 
  16. ^ Welcome to the Open XML SDK 2.5 for Office. Microsoft. 2015-03-10 [2017-10-07]. (原始内容存档于2017-10-08). 
  17. ^ Open-XML-SDK on github. [2019-06-24]. (原始内容存档于2019-02-09). 

Microsoft Office
  • 歷史
Office套件
Windows
Mac OS
其他
應用
(列表)
桌面應用
伺服器
  • Skype for Business Server英语Skype for Business Server
  • SharePoint
    • Excel Services英语Excel Services
    • Project Server英语Microsoft Project Server
    • Search Server英语Microsoft Search Server
移動應用
  • Outlook Groups英语Outlook Groups
  • Outlook Mobile英语Outlook Mobile
  • Lens英语Office Lens
  • Remote英语Office Remote
線上應用
  • 日曆
  • Classroom英语Microsoft Classroom
  • Delve
  • Docs.com英语Docs.com
  • Forms
  • 人脉
  • OneDrive
  • Outlook.com
  • Outlook Web App英语Outlook Web App
  • Planner英语Microsoft Planner
  • Sway
  • Tasks英语Outlook Tasks
  • Teams
  • Video英语Office 365 Video
工具
  • 共享工具
  • Ribbon Hero英语Ribbon Hero
  • Ribbon Hero 2英语Ribbon Hero 2
停止開發
已独立分拆
技術
其他主题
  • 微软产品啟動英语Microsoft Product Activation
  • Office Genuine Advantage英语Office Genuine Advantage
  • Office檔案格式名稱英语List of Microsoft Office filename extensions
  • Microsoft Office密码保护英语Microsoft Office password protection
  • 分类 分类
  • 共享资源页面 共享资源
  • 维基百科图书 教科书
  • 维基学院页面 学院
可編輯文档格式
  • Compound Document Format英语Compound Document Format
  • Microsoft Office XML formats英语Microsoft Office XML formats
  • Office Open XML
  • Open Document Architecture英语Open Document Architecture
  • OpenDoc英语OpenDoc
  • 开放文档格式(ODF)
  • OpenOffice.org XML英语OpenOffice.org XML
  • Revisable-Form Text英语Revisable-Form Text
  • Rich Text Format(RTF)
  • 统一办公文档格式(UOF)
  • DOC
不可編輯文档格式
相关
辦公室套件
  • Compound Document Format英语Compound Document Format
  • OOXML
    • SpreadsheetML英语SpreadsheetML
    • Office Open XML
    • WordprocessingML英语WordprocessingML
  • ODF
  • UOF
知名
不太知名
  • Amigaguide
  • CML
  • C-HTML
  • ConTeXt英语ConTeXt
  • Crossmark英语Crossmark
  • DITA英语Darwin Information Typing Architecture
  • DocBook
  • eLML英语eLML
  • EAD英语Encoded Archival Description
  • Enriched text英语Enriched text
  • FHTML英语FHTML
  • GML英语List of document markup languages#GML Disambiguation
  • GuideML英语GuideML
  • HDML英语Handheld Device Markup Language
  • HyTime
  • HyperTeX英语HyperTeX
  • IPF英语Information Presentation Facility
  • LilyPond
  • LinuxDoc英语LinuxDoc
  • Lout英语Lout (software)
  • MIF英语Maker Interchange Format
  • MAML英语Microsoft Assistance Markup Language
  • MEI英语Music Encoding Initiative
  • MusicXML
  • OMDoc英语OMDoc
  • OpenMath英语OpenMath
  • POD英语Plain Old Documentation
  • RTML英语Remote Telescope Markup Language
  • RTML英语RTML
  • RFT英语Revisable-Form Text
  • S1000D英语S1000D
  • TEI
  • Texinfo英语Texinfo
  • Troff
  • Wikitext
  • WML
  • WapTV英语WapTV
  • XAML
  • YAML
文档标记语言列表英语List of document markup languages
ISO標準
列表
国际标准化组织的标准列表英语List of International Organization for Standardization standards
国际标准化组织拉丁化方案列表
国际电工委员会标准列表英语List of IEC standards
1–9999
  • 1
  • 2
  • 3英语ISO 3
  • 4
  • 5
  • 6
  • 7英语ISO 7
  • 9
  • 16
  • 31
    • -0英语ISO 31-0
    • -1英语ISO 31-1
    • -2英语ISO 31-2
    • -3英语ISO 31-3
    • -4英语ISO 31-4
    • -5英语ISO 31-5
    • -6英语ISO 31-6
    • -7英语ISO 31-7
    • -8英语ISO 31-8
    • -9英语ISO 31-9
    • -10英语ISO 31-10
    • -11英语ISO 31-11
    • -12英语ISO 31-12
    • -13英语ISO 31-13
  • 128
  • 216
  • 217英语ISO 217
  • 226英语ISO 226
  • 228英语British standard pipe thread
  • 233
  • 259
  • 269
  • 302英语Kappa number
  • 306英语Vicat softening point
  • 428英语ISO 428
  • 518
  • 519
  • 639
  • 646
  • 690
  • 732
  • 764英语Antimagnetic watch
  • 843
  • 898英语ISO 898
  • 965英语ISO 965
  • 1000
  • 1004英语Magnetic ink character recognition
  • 1007
  • 1073-1英语OCR-A font
  • 1413英语ISO 1413
  • 1538
  • 1745英语ISO 1745
  • 1989
  • 2014英语ISO 2014
  • 2015英语ISO 2015
  • 2022
  • 2047英语ISO 2047
  • 2108
  • 2145
  • 2146英语ISO 2146
  • 2240
  • 2281英语Water Resistant mark
  • 2709英语ISO 2709
  • 2711英语ISO 2711
  • 2788英语ISO 2788
  • 2852英语ISO 2852
  • 3029英语126 film
  • 3103
  • 3166
  • 3297
  • 3307英语ISO 3307
  • 3602
  • 3758
  • 3864英语ISO 3864
  • 3901
  • 3977英语ISO 3977
  • 4031英语ISO 4031
  • 4157英语ISO 4157
  • 4217
  • 4909英语ISO/IEC 4909
  • 5218
  • 5428英语ISO 5428
  • 5775英语ISO 5775
  • 5776英语ISO 5776
  • 5800
  • 5807
  • 5964英语ISO 5964
  • 6166
  • 6344英语ISO 6344
  • 6346英语ISO 6346
  • 6385英语ISO 6385
  • 6425英语Water Resistant mark
  • 6429英语ANSI escape code
  • 6438
  • 6523英语ISO 6523
  • 6709
  • 7001
  • 7002英语ISO 7002
  • 7064英语ISO 7064
  • 7098
  • 7185
  • 7200英语ISO 7200
  • 7498
  • 7637
  • 7736英语ISO 7736
  • 7810
  • 7811英语ISO/IEC 7811
  • 7812
  • 7813英语ISO/IEC 7813
  • 7816
  • 8000
  • 8178英语ISO 8178
  • 8217
  • 8571英语FTAM
  • 8583英语ISO 8583
  • 8601
  • 8632
  • 8652英语ISO/IEC 8652
  • 8691英语ISO 8691
  • 8807英语Language Of Temporal Ordering Specification
  • 8820-5英语ISO/IEC 8820-5
  • 8859
  • 8879
  • 9000/9001
  • 9075
  • 9126
  • 9293
  • 9241英语ISO 9241
  • 9362
  • 9407
  • 9506英语Manufacturing Message Specification
  • 9529英语ISO 9529
  • 9564英语ISO 9564
  • 9594
  • 9660
  • 9897英语ISO 9897
  • 9899
  • 9945
  • 9984
  • 9985
  • 9995
10000–19999
  • 10005英语ISO 10005
  • 10006英语ISO 10006
  • 10007英语ISO 10007
  • 10116英语ISO/IEC 10116
  • 10118-3英语Whirlpool (cryptography)
  • 10160英语ISO 10160
  • 10161英语ISO 10161
  • 10165英语Guidelines for the Definition of Managed Objects
  • 10179英语Document Style Semantics and Specification Language
  • 10206
  • 10218英语ISO 10218
  • 10303
    • -11英语EXPRESS (data modeling language)
    • -21
    • -22英语ISO 10303-22
    • -28英语ISO 10303-28
    • -238英语STEP-NC
  • 10383英语ISO 10383
  • 10487英语ISO 10487
  • 10585
  • 10589
  • 10646
  • 10664
  • 10746英语RM-ODP
  • 10861英语Multibus
  • 10957
  • 10962英语ISO 10962
  • 10967英语ISO/IEC 10967
  • 11073英语ISO/IEEE 11073
  • 11170英语ISO 11170
  • 11179英语ISO/IEC 11179
  • 11404英语ISO/IEC 11404
  • 11544
  • 11783英语ISO 11783
  • 11784英语ISO 11784 & 11785
  • 11785英语ISO 11784 & 11785
  • 11801
  • 11898
  • 11940 (-2英语ISO 11940-2)
  • 11941英语ISO/TR 11941
  • 11941 (TR)英语ISO/TR 11941
  • 11992英语ISO 11992
  • 12006英语ISO 12006
  • 12182英语ISO/IEC TR 12182
  • 12207英语ISO/IEC 12207
  • 12234-2英语Tag Image File Format / Electronic Photography
  • 13211
  • 13216英语Isofix
  • 13250
  • 13399英语ISO 13399
  • 13406-2英语ISO 13406-2
  • 13450英语110 film
  • 13485英语ISO 13485
  • 13490英语ISO 13490
  • 13567英语ISO 13567
  • 13568英语Z notation
  • 13584英语ISO 13584
  • 13616
  • 14000
  • 14031
  • 14224英语ISO 14224
  • 14289英语PDF/UA
  • 14396
  • 14443
  • 14496
    • -2英语MPEG-4 Part 2
    • -3英语MPEG-4 Part 3
    • -6英语Delivery Multimedia Integration Framework
    • -10
    • -11英语MPEG-4 Part 11
    • -12英语MPEG-4 Part 12
    • -14
    • -17
    • -20
  • 14644英语ISO 14644
  • 14649英语STEP-NC
  • 14651英语ISO 14651
  • 14698英语ISO 14698
  • 14750英语ISO 14750
  • 14764
  • 14882
  • 14971英语ISO 14971
  • 15022英语ISO 15022
  • 15189英语ISO 15189
  • 15288英语ISO/IEC 15288
  • 15291英语Ada Semantic Interface Specification
  • 15292英语ISO 15292
  • 15398英语ISO 15398
  • 15408
  • 15444
    • -3英语Motion JPEG 2000
  • 15445
  • 15438
  • 15504
  • 15511
  • 15686英语ISO 15686
  • 15693英语ISO/IEC 15693
  • 15706
    • -2英语ISO 15706-2
  • 15707
  • 15897英语ISO 15897
  • 15919
  • 15924
  • 15926英语ISO 15926
  • 15926 WIP英语ISO 15926 WIP
  • 15930英语PDF/X
  • 16023英语MaxiCode
  • 16262
  • 16612-2英语PDF/VT
  • 16750
  • 16949 (TS)
  • 17024英语ISO/IEC 17024
  • 17025英语ISO/IEC 17025
  • 17100英语ISO 17100:2015
  • 17203
  • 17369英语SDMX
  • 17442英语Legal Entity Identifier
  • 17799
  • 18000英语ISO/IEC 18000
  • 18004
  • 18014英语ISO/IEC 18014
  • 18245英语ISO 18245
  • 18629英语Process Specification Language
  • 18916英语Photographic Activity Test
  • 19005
  • 19011英语ISO 19011
  • 19092 (-1英语ISO 19092-1
  • -2)英语ISO 19092-2
  • 19114英语ISO 19114
  • 19115英语ISO 19115
  • 19125英语Simple feature access
  • 19136
  • 19439英语ISO 19439
  • 19500
  • 19501
  • 19502
  • 19503英语XML Metadata Interchange
  • 19505
  • 19506英语Knowledge Discovery Metamodel
  • 19507英语Object Constraint Language
  • 19508
  • 19509英语XML Metadata Interchange
  • 19510
  • 19600:2014英语ISO 19600:2014
  • 19752英语ISO/IEC 19752
  • 19757英语RELAX NG
  • 19770英语ISO/IEC 19770
  • 19775-1
  • 19794-5英语ISO/IEC 19794-5
  • 19831英语Cloud Infrastructure Management Interface
20000+
  • 20000
  • 20022英语ISO 20022
  • 20121英语ISO 20121
  • 20400英语ISO 20400
  • 21000
  • 21047英语International Standard Text Code
  • 21500英语ISO 21500
  • 21827:2002英语ISO/IEC 21827
  • 22000
  • 22301
  • 23270
  • 23271
  • 23360
  • 24517英语PDF/E
  • 24613
  • 24617英语ISO-TimeML
  • 24707英语Common Logic
  • 24778
  • 25178英语ISO 25178
  • 25964英语ISO 25964
  • 26000英语ISO 26000
  • 26262
  • 26300
  • 26324
  • 27000 series
  • 27000英语ISO/IEC 27000
  • 27001
  • 27002
  • 27006英语ISO/IEC 27006
  • 27729
  • 28000英语ISO/PAS 28000
  • 29110英语ISO 29110
  • 29148英语Requirements engineering
  • 29199-2
  • 29500
  • 30170
  • 31000英语ISO 31000
  • 32000
  • 38500英语ISO/IEC 38500
  • 40500
  • 42010英语ISO/IEC 42010
  • 45001
  • 55000英语ISO 55000
  • 80000
    • -1英语ISO 80000-1
    • -2
    • -3英语ISO 80000-3
  • 参见:
  • 分类 ISO标准
  • 所有前缀有“ISO”的页面