檔層級自訂中的快取資料

適用于:yesVisual Studio no Visual Studio for Mac no Visual Studio Code

檔層級自訂的主要目標是將資料與 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 物件模型中原生物件的擴充版本。 不同于原生物件,主控制項可以直接系結至 Managed 資料物件。 如需詳細資訊,請參閱Office 檔概觀上的主專案和主控制項概觀和 Windows Forms 控制項。

存取伺服器上的快取資料

若要存取檔中的快取資料,您可以使用 ServerDocument 類別。 這個類別是 Visual Studio Tools for Office 執行時間的一部分,而且可以在伺服器上使用,而不需要執行 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 應用程式的情況下存取資料嗎? 是,使用 ServerDocument Visual Studio Tools for Office 執行時間所提供的類別。 是,使用 命名空間中的 System.IO.Packaging 類別,或使用 Open XML Format SDK。

另請參閱