2012-03-26 14 views
3

これが可能で、私が検索したすべての箇所で明確な答えが見つからないかどうかわかりません。 Microsoft Word文書をSQL Server 2008テーブルに保存しています。基本的にファイルをByte[]に変換してテーブルに書き出します。この単語文書は「テンプレート」ファイルです。このファイルは、ユーザーが記入する必要がある形式です。私が思っていることは、SQL Serverからそのファイルを読み込んだ後、ユーザー用に開く前に、フォームの一部のフィールドをユーザーのためにオートポピュレートする方法があるかどうかです。たとえば、ユーザーのアドレスがわかっている場合は、テンプレートのアドレスフィールドを自動入力できますか?C#/ Asp.netで保存されたMicrosoft Word文書を編集する

Microsoft.Office.Interop.Wordを使用してブックマークを検索し、ブックマークにデータを挿入することができます。しかし、私が知る限り、Microsoft.Office.Interop.Wordを開けるとByte[].

が見つかりませんでした。

+0

まず、一時フォルダに保存してから、「Microsoft.Office.Interop.Word」を使用して開きます。ただし、WebサーバーからWordを自動化するのは「uglee」です。 興味のあるもの - 実際に*試したもの* –

答えて

3

あなたがOpenXMLのを使用したい場合は、あなたがOpenXMLの上のサーバーのside..Moreリソースに単語をインストールしなくてもOpenXMLのを使用して達成しようとしているものを

//Load your byte[] array into memory stream and then 
WordprocessingDocument doc = WordprocessingDocument.Open(stream, true); 

を行うことができ、このようにそれを行うことができますhttp://openxmldeveloper.org/に見つけることができます。オープンxml sdkはhereからダウンロードできます。

1

私はテンプレートではなく、.doc拡張子に基づいてファイル名を持つユーザーのローカルハードドライブにファイルを保存します)一般的な手順は

1になると思います。

2)ファイルをinteropで開きますが、目に見えないようにしてください。

3)フィールドにブックマークを設定します。

4)これをユーザーに公開してください。

関連する問題