文件層級自訂中的資料模型
更新:2007 年 11 月
適用於 |
---|
本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。 專案類型
Microsoft Office 版本
如需詳細資訊,請參閱依應用程式和專案類型提供的功能。 |
Visual Studio Tools for Office 中文件層級方案的主要目標之一就是在 Office 文件中將資料與檢視分開。資料是指存放在文件中的資訊,包括數字和文字。檢視則是指 Microsoft Office Word 和 Microsoft Office Excel 的使用者介面和物件模型。
Visual Studio Tools for Office 是以讓資料內嵌為「資料島」(Data Island),也稱為「資料快取」(Data Cache) 的方式,在文件層級自訂中將資料與檢視分開。您可以直接讀取或修改資料,而不用啟動 Word 或 Excel。當您需要在未安裝 Microsoft Office 的伺服器上修改文件的資料時,這相當有用。Word 和 Excel 是主要是在用戶端環境中使用,而非設計用來在伺服器上執行。
如需文件層級自訂的詳細資訊,請參閱 Office 方案開發概觀和文件層級自訂的架構。
了解快取資料程式設計模型
資料島可以包含方案中符合特定需求的任何物件。這些物件包括 DataSet 物件、DataTable 物件,以及可以用 XmlSerializer 類別 (Class) 序列化的其他物件。如需詳細資訊,請參閱快取資料。
若要提供快取資料的檢視,您可以將 Windows Form 控制項和文件上的「主控制項」(Host Control) 繫結至資料島中的物件。資料島與資料繫結控制項之間的資料繫結,可讓兩者保持同步。您也可以將驗證程式碼加入與控制項無關的資料。如需詳細資訊,請參閱將資料繫結至控制項。
主控制項是 Excel 和 Word 物件模型中原生物件的擴充版本。不像原生物件,主控制項可以直接繫結至 Managed 資料物件。如需詳細資訊,請參閱 主項目和主控制項概觀和Office 文件上的 Windows Form 控制項概觀。
存取伺服器上的快取資料
若要存取文件中的快取資料,您可以使用 ServerDocument 類別。此類別是 Visual Studio Tools for Office Runtime 的一部分,可以用在未執行 Excel 或 Word 的伺服器上。當使用者在您修改快取資料之後開啟文件時,任何繫結至資料的控制項會自動與變更同步,使用者看到的會是更新的資料。如需詳細資訊,請參閱存取伺服器文件中的資料。
在伺服器上寫入資料時,並不需要 Excel 和 Word;只有在用戶端上檢視時,才需要 Excel 和 Word。甚至也不需要在伺服器上安裝 Excel 和 Word,因此改善了延展性與功能,可以快速執行含資料島文件的批次處理。
供離線使用的資料快取
將資料存放在資料島中就能在離線時使用。使用者一開始開啟文件或從伺服器要求文件,資料島就會填滿最新的資料。資料島已經快取在文件中,之後就可供離線使用。使用者 (和您的程式碼) 雖然沒有即時連接可用,也可以操作資料。當使用者再重新連接時,資料的變更就可以傳回到伺服器資料來源。
快取資料和自訂 XML 組件的比較
自訂 XML 組件在 2007 Microsoft Office system 中引入,做為在文件中儲存任意 XML 片段的方式。雖然自訂 XML 組件可以用在許多與資料快取相同的案例中,但是 Visual Studio Tools for Office 資料島與自訂 XML 組件之間還是有所不同。如需自訂 XML 組件的詳細資訊,請參閱自訂 XML 組件概觀。
下表列出一些相異和相似處。
資料快取 |
自訂 XML 組件 |
|
---|---|---|
哪些 Office 應用程式可以使用它們? |
下列應用程式的文件層級自訂:
|
下列應用程式的文件層級和應用程式層級方案:
|
您可以儲存哪些資料型別? |
自訂組件 (Assembly) 中,任何符合特定需求的公用物件。如需詳細資訊,請參閱快取資料。 |
任何 XML 資料。 |
您可以存取資料而不啟動 Microsoft Office 應用程式嗎? |
可以,使用 Visual Studio Tools for Office Runtime 提供的 ServerDocument 類別即可。 |
可以,從 .NET Framework 3.0 開始,使用 System.IO.Packaging 命名空間 (Namespace) 中的類別即可。 |