Office 2007/Open XML SDK

Att jobba med de filer som genereras av Office 2007 är enkelt, de är i grunden en ZIP-fil som består av en massa textfiler som enkelt akn bytas ut.

Genom att använda Custom XML Schemas så kan man själv styra över hur den information man i en Word-mall/blankett matar in ska representeras, läs: hur ska XML-filen se ut som representerar inmatat data.

Har man gjort detta så kan man sedan använda detta dokument för att bakvägen nyta ut XML-filen och istället fylla på med data, exempelvis på en webbserver. I .NET Framework 3.0 så finns det stöd i namnrymden System.IO.Packaging för att göra detta, men det är inte lika enkelt som att använda den nysläppta SDK för att göra ett sådant byte.

De rader .NET-kod som krävs i en ASPX-sida är dessa förutsatt att du har en Word-mall och en XML på korrekt format:

' How to: Replace a part in a package
Public Sub ReplaceTheme(ByVal document As String, ByVal themeFile As String)
     Dim wordDoc As WordprocessingDocument = WordprocessingDocument.Open(document, True)
     Using (wordDoc)
          Dim mainPart As MainDocumentPart = wordDoc.MainDocumentPart
          
          ' Delete the old part.
          mainPart.DeletePart(mainPart.ThemePart)
         
          ' Add a new part and then add content.
          Dim themePart As ThemePart = mainPart.AddNewPart(Of ThemePart)()
          Dim streamReader As StreamReader = New StreamReader(themeFile)
          Dim streamWriter As StreamWriter = New StreamWriter(themePart.GetStream(FileMode.Create))

          Using (streamWriter)
              streamWriter.Write(streamReader.ReadToEnd)
          End Using
      End Using
End Sub

Läs mer och ladda ner här:

Open XML SDK