Office Open XML（縮寫：Open XML、OpenXML 或 OOXML），為由 Microsoft 開發的一種以 XML 為基礎並以 ZIP 格式壓縮的電子檔案規範，支援檔案、表格、備忘錄、幻燈片等檔案格式。 OOXML 在 2006 年 12 月成為了 ECMA 規範的一部分，編號為 ECMA376；並於 2008 年 4 月透過國際標準化組織的表決，在兩個月後公佈為 ISO／IEC 29500 國際標準。微軟推出這個格式，很多人認為是出於商業考量。許多專家指出，該標準並不是個完整的標準，採用了許多微軟的獨有規格，使用上困難重重。 從 Microsoft Office 2007 開始，Office Open XML 檔案格式已經成為 Microsoft Office 預設的檔案格式。Microsoft Office 2010 支援對 ECMA376 標準文件的讀操作，ISOIEC 29500 Transitional 的讀 寫，ISOIEC 29500 Strict 的讀取。Microsoft Office 2013 同時支援 ISOIEC 29500 Strict 的讀寫操作。 它的競爭對手是 OpenDocument Format，後者是被廣泛接受的一種開放的文件儲存和交換規範。 版本 存在以下幾個版本的 Office Open XML 標準。 ECMA 376 ECMA 376，目前歷經 4 個版本，第 1 版（2006 年 12 月）、第 2 版（2008 年 12 月）、第 3 版（2011 年 6 月）、第 4 版（2012 年 12 月）。 ISOIEC 29500 ISOIEC 29500 目前最新的版本為 2012 年的版本 ISOIEC 標準的結構分為四部分。第 1、2 和 3 是獨立的標準，第 2 部分用於其他檔案格式，包括 Design_Web_Format 和 XPS 格式。第 4 部分作用是讀出第 1 部分的變體。 第 1 部分（基礎知識和標記語言參考） 第 2 部分（解包約定） 第 3 部分（標記相容性和可擴充套件性） 第 4 部分（過渡期遷移特性） 批評 微軟公司發表的 Office Open XML 使用許多非標準的規範，造成與其他辦公室軟體（例如 LibreOffice）讀取時發生不相容或內容偏移的情形，目的是讓 Microsoft Office 保持市場優勢。 ODF 廣泛接受的開放文件規範 編碼時會使用其他標準規範 如 ISO 639、MathML 來進行儲存，但 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 並非如其所聲稱的開放。 Open XML Format SDK Microsoft Open XML Format SDK 包含一套託管程式碼庫用於程式設計以建立、操縱 Office Open XML 檔案。並不用於代替 Microsoft Office Object Model，也不提供檔案格式的頂層抽象。使用 Open XML SDK 必須理解文件格式結構。對 Word 文件不提供諸如 layout 功能；對 Excel 文件，不提供諸如重新計算、資料重新整理等功能。 版本 10 釋出於 2008 年 6 月 10 日。配合 Office Open XML 規範的 ISOIEC 標準化過程。 版本 20： 用於NET 35 應用程式。支援使用NET 的強型別類來直接表示 XML 的 elementattributevalue、 使用 Office Open XML schema 驗證 Office Open XML 文件、在 Office Open XML 文件中搜索。該 SDK 建於 SystemIOPackaging API 之上。使用了NET Framework LanguageIntegrated Query LINQ 技術用強型別。把很多操作 Open XML packages 封裝為 API，以簡化使用。 版本 25： 用於NET 40 應用程式。釋出於 2014 年 6 月並在 GitHub 上開源。這是目前最高版本。支援 Office 2013 的一些新的類。讀取 ISOIEC 29500 Strict Format 文件。 Open XML SDK 25 Productivity Tool for Microsoft Office 提供許多特性，如給予文件內容產生 Open XML SDK 25 原始碼，比較源與目標 Open XML documents 以產生原始碼從源建立目標文件、驗證文件、顯示文件，ECMA376v1 標準，Microsoft Office 實現註解。 通常安裝在 CProgram Files x86Open XML SDKV25。 一個 Open XML 文件包含多個文件部分（document part）。ZIP 格式支援任意訪問各個部分。例如，一個 slide 頁面、Word 文件中的 comment，都是獨立的文件部分。一個 Open XML 文件就是一個 Open Packaging Conventions OPC 包 package。每個文件部分有個部分名字，由一系列 segments 或一個 pathname 組成，如 wordthemetheme1xml。包的 Content_Typesxml 部分，用於確定包中所有文件部分的內容型別。 SpreadsheetML 文件 SpreadsheetML 文件包含 workbook 元素，其內部包含 sheets 與 sheet 元素用於表示各個工作表。每個工作表被建立為一個獨立的 XML 檔案。一個 spreadsheet 文件還可以包含、 chartsheet、 pivotTableDefinition 等元素。 在名稱空間 DocumentFormatOpenXMLSpreadsheet 中定義了 spreadsheet 中重要的 elements： Package Part Top Level SpreadsheetML Element Open XML SDK 25 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 參考文獻 Category 檔案格式 CategoryMicrosoft Office CategoryIEC 標準 CategoryEcma 標準 Category 基於 XML 的標準