OfficeOpenXML
Office Open XML(縮寫:Open XML、OpenXML抑是OOXML), 為由 Microsoft 開發的一種以 XML 為基礎並以 ZIP 格式壓縮的電子檔案規範,支援檔案、格仔、備忘錄、幻燈片等檔案格式。
OOXML 佇二空空六年十二月成做 ECMA 規範的一部份,編號做 ECMA 被三百七十六;並且二空空八年四月通過國際標準化組織的表決,佇咧兩個月後咧公佈做 ISO/IEC 二鋪九千五百國際標準。軟膏膏推出這个格式,足濟人認為講是出佇商業考量。真濟專家指出,該標準並毋是個完整的標準,採用真濟微微仔軟獨有規格,使用上困難真濟。
對 Microsoft Office 兩千空七開始,Office Open XML 檔案格式已經成做 Microsoft Office 預設的檔案格式。Microsoft Office 二千空一十支援嘿 ECMA 鋪三百七十六標準文件的讀操作,ISO / IEC 二鋪九千五百 Transitional 的讀 / 寫,ISO / IEC 二鋪九千五百 Strict 的讀取。Microsoft Office 二千空一十三同時支援 ISO / IEC 二鋪九千五百 Strict 的讀寫操作。
伊的競爭對手是 OpenDocument Format,後者是予人廣泛接受的一種開放的文件儲存佮交換規範。
版本
存在以下幾个版本的 Office Open XML 標準。
ECMA 三百七十六
ECMA 三百七十六,目前歷經歷四个版本,頭版(二空空六年十二月)、 二版(二空空八年十二月)、 第三版(二空一一年六月)、 第四版(二空一二年十二月)。
ISO / IEC 二鋪九千五百
ISO / IEC 二嬸九千五百目前上新的版本為二空一二年的版本 ISO / IEC 標準的結構分做四部份。第一、二和三是獨立的標準,第二部份用其他的檔案格式,包括講 Design \ _ Web \ _ Format 和 XPS 格式。第四部份作用是讀第一部份的變體。
- 第一部份(基礎智識佮標記式語言參考)
- 第二个部份(解包約定)
- 第三部份(標記相容性佮會當延伸性)
- 第四部份(過渡期搬徙的特性)
批評
微軟公司發表的 Office Open XML 使用真濟非標準的規範,造成佮其他的辦公室軟體(比如講 LibreOffice)讀的時陣發生無相容抑是內容偏移的情形,目的就是欲予 Microsoft Office 保持市場優勢。
ODF ( 廣泛接受的開放文件規範 ) 編碼的時候可以用其他的標準規範 ( 如 ISO 六百三十九、MathML ) 來做儲存,猶毋過 OOXML 使用非標準的編碼進行存取。比如講 ODF 內底的色水代碼,不管是試算表、檔案、簡報等,紅色的代碼攏是 # FF 零,毋過佇 OOXML 內底凊彩的產品,代碼分別為:
- Word:# FF 零
- Excel:# FFFF 零
- Powerpoint:# FF 零
OOXML 設計的目的是共微軟定義的 doc、ppt、xls 二進制格式轉成 XML 格式,並無依照 XML 的特性最佳化,啊若其私有格式內容的額外非標準元件嘛包括在內,比如講 ActiveX 等咧(過時,而且會當用佇咧攻擊); 另外一方面,比爾 ・ 蓋茲佇一九九八年留下的備忘錄講著「袂當予其他的瀏覽器會當完美顯示 MS Office 檔案,予家己公司的專屬 IE 會當確來顯示」,這馬的狀況會當講是略略仔軟延續比爾 ・ 起茲的精神,使「現代的 MS Office 儉出來的 OOXML 檔」刁工做成第三方軟體袂當完善地解讀、呈現,顯示 OOXML 並毋是其實所聲稱開放。
Open XML Format SDK
Microsoft Open XML Format SDK 包含一套受控代碼庫用於編程以建立、操縱 Office Open XML 檔案。並毋免於代替 Microsoft Office Object Model,嘛無提供檔案格式的頂層抽象。使用 Open XML SDK 著愛理解文件格式結構。著 Word 文件無提供諸如 layout 功能;著 Excel 文件,無提供諸如重新計算、資料重新整理等等的功能。
- 版本一鋪零發布佇二空空八年六月十號。配合 Office Open XML 規範的 ISO / IEC 標準化過程。
- 版本二交零:用佇咧 . NET 三允五應用程式。支援使用 . 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,以簡省使用。
- 版本二石五:用佇咧 . NET 四配零應用程式。發布佇二空一四年六月並佇 GitHub 上開源。這是目前上懸的版本。支援 Office 兩千空一十三的一寡新的類。讀取 ISO / IEC 二鋪九千五百 Strict Format 文件。
Open XML SDK 二嬸五 Productivity Tool for Microsoft Office提供真濟特性,如果給文件內容產生 Open XML SDK 二孵五原始碼,較源和目標 Open XML documents 以產生原始碼對源建立目標文件、驗證文件、顯示文件,ECMA 三百七十六 v 一標準,Microsoft Office 實現註解。
通常安裝佇咧 C : \ Program Files ( x 八十六 ) \ Open XML SDK \ V 二嬸五 \。
一个 Open XML 文件包括多個文件部份(document part)。 ZIP 格式支援任意存取各部份。比如講,一个 slide 頁面、Word 文件內底的 comment,攏是獨立的文件的部份。一个 Open XML 文件就是一个 Open Packaging Conventions ( OPC ) 包 ( package )。每一个文件部份有一个部份名,由一系列 segments 抑是一个 pathname 組成,如 " / word / theme / theme 一 . xml "。包的 [Content \ _ Types] . xml 部份,用佇確定包中所有文件部份的內容類型。
SpreadsheetML 文件
SpreadsheetML 文件包括 ` < workbook > ` 元素,其內部包括 ` < sheets > ` 佮 ` < sheet > ` 元素用佇咧表示逐个工課表示。逐个工課表予建立做一个獨立的 XML 檔案。一个 spreadsheet 文件猶閣會當包括 ` < table > `、` < chartsheet > `、` < pivotTableDefinition > ` 等元素。
佇咧號名空間 DocumentFormat . OpenXML . Spreadsheet 著定義矣 spreadsheet 中重要的 elements: