文件層級自訂中的資料概觀

更新:2007 年 11 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

專案類型

  • 文件層級專案

Microsoft Office 版本

  • 2007 Microsoft Office system

  • Microsoft Office 2003

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

Microsoft Office 文件經常用做資料儲存機制。過去,這意味著您必須啟動 Office 應用程式才能取得資料。但是,在 Microsoft Office Word 或 Microsoft Office Excel 的文件層級自訂中,資料可以儲存在不需啟動 Excel 或 Word 即可存取的內嵌資料島中。

將資料和文件分開

資料島就是 XML 文件,其中含有內嵌於 Office 文件中的資料。您不需要執行 Office 應用程式就可以存取 XML 文件。資料實際存在於兩個位置:既在文件中,也在單獨的內嵌資料島中。資料島與文件之間則使用資料繫結,讓兩者保持同步。如果伺服器上執行的程式碼修改資料島,則開啟 Office 文件並執行文件的後置程式碼時,該文件會與資料島同步。

這個模型提供下列數個優點:

  • 結構描述導向程式撰寫

  • 資料快取

  • 伺服器端資料存取

結構描述導向程式撰寫

Visual Studio Tools for Office 使用輸入的資料集提供結構描述導向程式撰寫模型,以與資料島互動。這可讓您將驗證程式碼加入與文件無關的資料。將驗證和文件分開,可讓資料驗證程式碼移植至其他文件。

資料快取

用可離線使用的資料填入資料島。文件中的快取資料項目包含資料時,文件會與資料島互動。使用 CachedAttribute 屬性宣告的資料來源仍然持續在資料島中。如需詳細資訊,請參閱 快取資料HOW TO:快取資料供離線使用或於伺服器上使用

伺服器端資料存取

可外部存取資料島這一事實,表示您可以修改文件中內嵌的資料,而無需啟動 Office,如此即可加快伺服器上文件的批次處理。請注意,只可存取快取中的資料,而不是文件中的所有資料。

在伺服器上填入文件,但不啟動 Office 應用程式

無需啟動 Office 應用程式,即可在伺服器上填入文件中內嵌的資料島。建立文件,並使資料的結構描述與該文件產生關聯。文件即會儲存到伺服器上。伺服器端程式碼 (例如,ASP.NET 網頁的後置程式碼) 在 Visual Studio Tools for Office Runtime 呼叫方法,以填入資料島。如需詳細資訊,請參閱存取伺服器文件中的資料

將文件中內嵌的資料公開至 ASP.NET 伺服器網頁,但不啟動 Office 應用程式

您可以藉由建立文件以及將資料結構描述關聯至該文件,來公開 (Expose) 資料。文件即會儲存到伺服器上。ASP.NET 網頁中的程式碼可將文件視為資料來源,並可讀取和修改內嵌的資料島。Visual Studio Tools for Office 提供的元件可從文件讀取資料島、將其做為資料來源公開至 ASP.NET 網頁,並允許讀寫資料。如需詳細資訊,請參閱 HOW TO:從伺服器的活頁簿中擷取快取資料

離線編輯文件

從伺服器的連線填入資料島之後,就可在中斷連接的情況下 (例如,乘坐的飛機不具有網路連接) 使用文件。儘管不存在實際伺服器連接,但可以使用資料島中的資料,並可對其進行操作。一旦連接可用,就可以將對資料島所做的變更散佈回伺服器資料來源。如需詳細資訊,請參閱儲存資料概觀HOW TO:從主控制項中使用資料更新資料來源

資料安全性

如果您的方案連接到外部資料來源 (例如資料庫、Web 服務或其他伺服器應用程式),除了用戶端上的輸入之外,同時請驗證資料來源中的所有輸入。即使文件中快取的資料也可能不是您所希望的,因為可從文件外對其進行存取。同樣因為上述原因,所以不要在快取中加入您不想讓使用者看到的資料。

如需安全資料處理的方針,請參閱安全性和使用者輸入安全用戶端應用程式 (ADO.NET)

請參閱

概念

將資料繫結至控制項

快取資料

存取伺服器文件中的資料

XML 結構描述和資料 (Visual Studio Tools for Office)

文件層級自訂中的資料模型

其他資源

Office 方案的資料