文件層級自訂中的快取資料
文件層級自訂的主要目標是將資料與 Office 文件中的檢視分開。 資料是指儲存在文件中的資訊,包括數字和文字。 檢視是指 Microsoft Office Word 和 Microsoft Office Excel 的使用者介面和物件模型。
Visual Studio 可讓資料內嵌為資料島,以將資料與文件層級自訂中的檢視分開,也稱為資料快取。 您可以直接讀取或修改資料,而不需要啟動 Word 或 Excel。 當您需要在未安裝 Microsoft Office 的伺服器上修改文件中的資料時,這非常有用。 Word 和 Excel 設計用於用戶端環境;它們並非設計為在伺服器上執行。
適用對象:本主題資訊適用於 Excel 及 Word 的文件層級專案。 如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
有關文件層級自訂的詳細資訊,請參閱 Office 方案開發概觀 (VSTO) 和文件層級自訂的架構。
了解快取資料程式設計模型
資料島可以包含方案中符合特定需求的任何物件。 這些物件包括 DataSet 物件、DataTable 物件,以及可由 XmlSerializer 類別序列化的任何其他物件。 如需詳細資訊,請參閱快取資料。
若要提供快取資料的檢視,您可以將文件上的 Windows Forms 控制項和主控制項繫結至資料島內的物件。 資料島與資料繫結控制項之間的資料繫結會保持兩者同步。 您也可以將驗證碼新增至與控制項無關的資料。 如需詳細資訊,請參閱將資料繫結至 Office 方案中的控制項。
主控制項是 Excel 和 Word 物件模型中本機物件的擴充版本。 與原生物件不同,主控制項可以直接繫結至受控資料物件。 如需詳細資訊,請參閱主項目和主控制項概觀與 Office 文件上的 Windows Forms 控制項概觀。
存取伺服器上的快取資料
若要存取文件中的快取資料,您可以使用 ServerDocument 類別。 這個類別是 Visual Studio Tools for Office Runtime 的一部分,可以在未執行 Excel 或 Word 的伺服器上使用。 修改快取資料後,當使用者在開啟文件時,繫結到資料的任何控制項都會自動同步更改,並向使用者顯示更新的資料。 如需詳細資訊,請參閱存取伺服器文件中的資料。
Excel 和 Word 不需要寫入伺服器上的資料,而只需要在用戶端上檢視它。 伺服器上甚至不需要安裝 Excel 和 Word。 這改善延展性,並提供對包含資料島的文件執行快速批次處理的能力。
供離線使用的資料快取
將資料儲存在資料島可啟用離線場景。 當使用者第一次開啟文件或從伺服器要求文件時,資料島會填入最新的資料。 資料島會在文件中快取,然後可供離線使用。 使用者 (和您的程序碼) 可以操作資料,即使沒有可用的即時連線也一樣。 當使用者重新連線時,可以將資料的變更傳播回伺服器資料來源。
比較快取資料和自訂 XML 元件
自訂 XML 元件是在 2007 Microsoft Office 系統中引進的,用來將任意的 XML 片段儲存在文件中。 雖然自訂 XML 元件在許多與資料快取相同的案例中很有用,但資料島與自訂 XML 元件之間有一些差異。 如需自訂 XML 組件的詳細資訊,請參閱自訂 XML 組件概述。
以下表格列出一些差異和相似之處。
問題/特性 | 資料快取 | 自訂 XML 組件 |
---|---|---|
哪些 Office 應用程式可以使用這些? | 下列應用程式的文件層級自訂: - Excel - Word |
下列應用程式的文件層級和應用程式層級方案: - Excel - PowerPoint - Word |
您可以儲存哪些類型的資料? | 自訂元件中符合特定要求的任何公用物件。 如需詳細資訊,請參閱快取資料。 | 任何 XML 資料。 |
您是否可以在不啟動 Microsoft Office 應用程式的情況下存取資料? | 是,使用 Visual Studio Tools for Office Runtime 所提供的 ServerDocument 類別。 | 是,在命名空間中使用 System.IO.Packaging 類別,或使用 Open XML 格式 SDK。 |