問題タブ [openxml-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
775 参照

c# - CustomXml を Headerpart にバインドする

私はこの問題で頭がいっぱいです。xml をメイン ドキュメント パーツに正常にバインドできますが、ヘッダー内のコンテンツ コントロールを取得して xml にバインドできないようです。

AddCustomXmlPart は Headerpart に存在しないようで、hdrpart.AddPart(xmlPart); を介して CustomXmlPart を追加しようとすると、

無効な操作の例外「パーツをここに追加できません」が発生し、hdrpart.AddNewPart(); を使用できません。CustomXmlPart は IFixedContentTypePart ではないためです。

ここ数日、データをヘッダーにバインドする方法の例を探していましたが、すべて役に立ちませんでした。新しいヘッダーの作成、ヘッダーの移動などに関する例はたくさんありますが、ヘッダーへの CustomXml のバインドに関する例はありません。

誰かがこれに光を当ててくれることを願っています。

前もって感謝します。

アル

0 投票する
2 に答える
2676 参照

c# - ドキュメントをマージする

OpenXML SDK 2.0 を使用して、2 つの docx ドキュメントを 1 つの docx ドキュメントにマージしようとしています。スタイルやカスタム ヘッダーとフッターを失うことなく、ドキュメントをマージする必要があります。AltChunkセクション区切りを使用してこれを達成できることを願っています。しかし、私はそれを機能させることができません。

私がやろうとしていることは可能ですか?誰かがこれを達成する方法を教えてもらえますか?

0 投票する
3 に答える
9606 参照

c# - C# で OpenXML SDK v2.0 を使用して Excel .xlsx ファイルに新しいシートを追加するにはどうすればよいですか?

今日解決した解決策を投稿するだけです。以下の私の答えを見てください。

非常に役立つ OpenXML SDK v2.0 ツールをお持ちでない場合は、http://www.microsoft.com/downloads/details.aspx?FamilyID=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en で見つけることができます

私が「わからない…」とコメントした行の目的を知っている場合は、それらを説明するコメントを残してください.

0 投票する
1 に答える
1557 参照

powerpoint - Open Office SDK 2.0 を使用して PowerPoint 2007 を PowerPoint 2003 として保存する

Open Office SDK 2.0 を使用して、OOXML を使用して作成した PowerPoint プレゼンテーションを PowerPoint 2003 プレゼンテーションに保存する方法はありますか? 2007 のファイルを開いて [名前を付けて保存] をクリックすると、それを PowerPoint 97 から 2003 のドキュメントとして保存するオプションがあることは知っていますが、この SDK を使用して文法的にこれを実行できるかどうかはわかりませんでした。

この質問をする理由は、Office 2007 または 2003 形式で Web サイトにデータを保存するオプションをユーザーに提供する必要があるためです。PowerPoint 2003 と PowerPoint 2007 の 2 つのコード パスを使用する代わりに、同じコードを使用してドキュメントを作成する方がはるかに簡単です。

0 投票する
3 に答える
10122 参照

c# - ASP.NETで複数のシートを含むExcelファイルにデータセットをエクスポートする

C#ASP.NET 3.5 Webアプリケーションでは、複数のデータテーブル(またはデータセット)を複数のシートを含むExcel 2007ファイルにエクスポートしてから、Excelファイルをに保存せずに[開く/保存]ダイアログボックスをユーザーに提供する必要があります。 Webサーバー。

以前にExcel相互運用機能を使用しました。私はそれが効率的ではなく、これを達成するための最良のアプローチではなく、それを行うためのより多くの方法があることを読んでいます、そのうちの2つは次のとおりです:1)データテーブルのデータをExcelが理解できるXML文字列に変換する2)OPEN XMLSDKを使用する2.0。

OPEN XMLSDK2.0の方が優れているようです。お知らせください。それを行う他の方法はありますか?サードパーティのツールは使いたくありません。

OPEN XML SDKを使用すると、Excelファイルが作成されますよね?(Windows 2003)サーバーのハードドライブに保存したくない(Server.MapPathを使用したくない、これらのExcelファイルは動的に作成され、クライアントが取得した後はサーバーに必要ありません) 。ユーザーに直接開く/保存するように促したい。「XML文字列」アプローチを使用する場合の方法を知っています。

助けてください。ありがとうございました。

0 投票する
1 に答える
1216 参照

excel - SSIS を使用して、OOXML を使用して生成された Excel ワークブックにデータを入力する

OOXML を使用して MS Excel ワークブックを生成し、SSIS を使用してデータを入力しようとしています。ワークブックとシートを生成でき、列を作成してヘッダー セルにデータを挿入することもできます。SSIS を使用してデータを入力することもできます。

しかし、シート ( DocumentFormat.OpenXml.Spreadsheet.Sheet) とすべてのセル ( DocumentFormat.OpenXml.Spreadsheet.Cell) は になりOpenXmlUnknownElementます。したがって、次のコードを使用してシート/セルを読み取ることはできません:Sheet sheet = workbookPart.Workbook.Descendants<Sheet>().Where(s => s.Name == "Sheet1").SingleOrDefault<Sheet>();

最初に MS Excel を使用してファイルを開いて保存すると、同じファイルを読み取ることができます。これを解決する方法を知っている人はいますか?

0 投票する
1 に答える
7503 参照

openxml - Open XML SDK 2.0 を使用してコンテンツが現在のスライドから流れ出すときに、テーブルを新しい PowerPoint スライドに分割する方法

Web サイトから PowerPoint プレゼンテーションにエクスポートする必要があるデータが多数あり、このタスクを実行するために Open XML SDK 2.0 を使用しています。Open XML SDK 2.0 Productivity Tool を使用してエクスポートを再作成するために使用できるテンプレート コードを生成する PowerPoint プレゼンテーションがあります。

それらのスライドの 1 つにテーブルがあり、そのテーブルにデータを追加し、テーブルがスライドの下部を超える場合は、そのテーブルを複数のスライドに分割する必要があります。私が取ったアプローチは、テーブルの高さを決定し、それがスライドの高さを超えている場合は、その新しいコンテンツを次のスライドに移動することです. PowerPoint スライドへの繰り返しデータの追加に関するBryan と Jonesのブログを読みましたが、私のシナリオは少し異なります。次のコードを使用します。

画像の高さになるため、テーブル行を設定する高さを知っているため、これは機能しませんが、さまざまな量のテキストを追加する場合、事前に高さがわからないため、設定tr.Heightするだけですデフォルト値。テーブルの高さを計算する私の試みは次のとおりです。

ヘルパー メソッドは次のとおりです。

これにより、新しいテーブル行が既存のテーブルに正しく追加されますが、テーブルの高さを取得しようとすると、新しい高さではなく元の高さが返されます。新しい高さは、大量のテキストが挿入された後の高さではなく、最初に設定したデフォルトの高さを意味します。高さは、PowerPoint で開いたときにのみ再調整されるようです。

また、行内の最大のテーブル セルの高さにアクセスしようとしましたが、そのタスクを実行するための適切なプロパティが見つからないようです。

私の質問は、PowerPoint で開かれるまで行の高さが更新されないように見えるため、動的に追加されたテーブル行の高さをどのように決定するのですか? Open XML SDK 2.0 を使用しているときに、コンテンツを別のスライドに分割するタイミングを判断する他の方法はありますか? この件に関するドキュメントはあまりないので、誰かが取ったかもしれないより良いアプローチについての提案を受け入れます。

0 投票する
2 に答える
3014 参照

silverlight - Silverlight 4 アプリケーションから Word ドキュメントを作成する方法は?

Silverlight 4 アプリケーション内から Word ドキュメントをプログラムで作成するオプションを探しています。最初は有望に見えたが、うまくいかないように見える2つのアプローチを見つけました。

OpenXML SDK OpenXML SDKは 、現時点では Silverlight では使用できません。

COM 相互運用による Word オートメーション

どうやらこれには、Silverlight 4 アプリケーションに昇格された特権で実行するためのアクセス許可が付与されている必要があるようです。

私のもう 1 つの考えは、これらの制限がないバックエンド サービスにリクエストを渡すことです。その道を進む前に、アイデアがないか確認したかったのです。

0 投票する
6 に答える
21342 参照

.net - OpenXML SDK: Excel に数式を再計算させる

Microsoft Office OpenXML SDK 2.0 を使用して、Excel スプレッドシートのいくつかのセルを更新します。値を変更すると、変更されたセルに依存する数式を含むすべてのセルが無効になります。ただし、値がキャッシュされているため、ユーザーが [今すぐ計算] をクリックしても、Excel は数式を再計算しません。

SDK を使用してワークブック全体のすべての依存セルを無効にする最良の方法は何ですか? これまでのところ、http : //cdonner.com/introduction-to-microsofts-open-xml-format-sdk-20-with-a-focus-on-excel-documents.htm で次のコード スニペットを見つけました。

このスニペットはコンパイルできないという事実に加えて、次の 2 つの制限があります。

  • 他のシートには依存式が含まれている可能性がありますが、1 つのシートのみを無効にします。
  • 依存関係は考慮されません。

効率的で (特に、特定のセルの値に依存するセルのみを無効にする)、すべてのシートを考慮に入れる方法を探しています。

アップデート:

その間、コードをコンパイルして実行し、ワークブックのすべてのシートでキャッシュされた値を削除することができました。(回答を参照してください。)それでも、更新されたセルに実際に依存するセルのキャッシュされた値のみを削除する方法など、より良い/代替ソリューションに興味があります。

0 投票する
1 に答える
5914 参照

excel - テンプレートとしての Excel シートの使用と OpenXML での「実際の」Excel テンプレートの使用

誰もがどのような違いがあるのか​​ 良い答えを持っていますか

  • 任意の事前にフォーマットされた Excel 2007 *.xlsx ファイルをテンプレートとして使用し、それを C# アプリに読み込み、Microsoft OpenXML SDK を使用してセルの一部にデータを入力します。

  • 特定の Excel テンプレート (*.xltx) ファイルを作成し、それらを「データ入力」演習の基礎として使用する

Excel テンプレート (*.xltx) を使用しないと何かが失われますか?

もしそうなら、私は何を失いますか?