問題タブ [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 投票する
4 に答える
10621 参照

excel-2007 - OpenXMLを使用したExcelの「すべて更新」

xmlファイルに接続したExcel2007ファイル(OpenXML形式)があります。この接続により、Excelテーブルとピボットグラフが生成されます。

OpenXML SDK v2を使用して、Excelの[すべて更新]ボタンと同じことを行う方法を見つけようとしています。新しいxmlファイルが提供されるとすぐにファイルを自動的に更新できるようにします。

ありがとうございました。

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

c# - OpenXml-SDK での TDD の使用

私は TDD アプローチを使用して、Excel ファイルからデータを読み取る小さなアプリを開発し始めました。リポジトリ パターン タイプのアプローチを使用して、私を困惑させるハードルに到達しました。

Excel ファイルを読み取るために、OpenXml-SDK を使用しています。通常、SDK を使用して Excel ファイルから読み取るには、実際に読み取りたい値を取得するためにいくつかの手順が必要です。

私がこれまでに取ったアプローチは、次のテストと付随する機能に反映されています。

ただし、スプレッドシートを開いた後の次の手順は、実際に Excel オブジェクト モデルに問い合わせて値を取得することです。上で述べたように、私はオープン xml に関連するものすべてにモックを利用しています。ただし、場合によっては、オブジェクトをモックできない場合があります (または、オブジェクトが静的であるため、オブジェクトをモックする方法がわかりません)。これによりIOpenXmlUtilities、OpenXml-SDK への単純なラッパー呼び出しにすぎません。

設計に関しては、Excel ファイルからのデータの読み取りは短期的な解決策 (6 ~ 8 か月) であることがわかっているため、これらのテストは、現時点ではリポジトリ/データ アクセスにのみ影響します。

明らかに、私は TDD アプローチを離れたくないので (魅力的ですが)、OpenXml SDK を使用して TDD の取り組みを継続する方法についてのアドバイスとガイダンスを探しています。もう 1 つの側面は、モッキングに関連しています。この場合、いつ、どのようにモックを使用するかについて、私は混乱しています。OpenXml-SDK をテストするテストを無意識のうちに作成したくありません。

*補足: デザインの SOLIDity を改善できることはわかっていますが、今のところはそのままにしておきます。オブジェクトに関連する一連の個別のテストがありbuilderます。発生する可能性のあるもう 1 つの副作用は、OpenXML-SDK ラッパー ライブラリの設計です。

編集:当時は不明でしたが、OpenXML-SDK 用の OpenXML-SDK ラッパーを作成することで、Adapter patternと呼ばれる (または正確な) デザイン パターンを使用しました。

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

c# - OpenXMLを使用してC#で画像がどのタイプであるかを調べるための期待できる関数はありますか?

「 OpenXMLを使用してWord文書の画像を置き換える」にある質問に引っ掛かりました。いくつかのImagePartTypeタイプがあることに気づきました。拡張機能を使用する以外に、特定の画像をどのタイプにするかを簡単に「組み込む」方法はありますか?ImagePartType列挙型は、多くのWordProcessingML構造体と同様に、PowerPointでも使用されます。

たとえば、image1.bmpのImagePartType.Bmp、image1.emfの
ImagePartType.Emf
、image1.gifのImagePartType.Gif、image1.icoのImagePartType.Icon、image1.jpegのImagePartType.Jpeg、またはimage1.pcxImagePartTypeの
image1.jpgImagePartType.Pcx .Png on image1.png
ImagePartType.Tiffonimage1.tiffまたはimage1.tifImagePartType.Wmfon
image1.wmf

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

office-2007 - openXml2.0 チャート生成は Office 2007 と互換性がありますか?

私は OpenXml を実行していませんが、OpenXml のダウンロード ページでは、1.0 が Office 2007 と互換性があることは明らかです。OpenXml 2.0 のダウンロード ページでは、Outlook のバージョンはまったく指定されていません。

Office 2007 しかない場合、または Office 2007 の表示/互換性が必要で、C# コードから Outlook でグラフを生成することを検討している場合、OpenXml 2.0 に進むことはできますか? 問題はありますか、それとも完全な互換性がありますか?

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

c# - 動的Wordドキュメントの作成中にグラフデータを更新する

動的な単語文書を作成する必要があるという要件があり、これらの単語文書には、動的に置換/更新する表、グラフ、テキスト、および画像が含まれています。そこで、テンプレートを作成し、動的な場所にテキストホルダーを配置することにしました。テンプレートを読んで更新して新しいドキュメントを作成するために、OpenXMLSDK2.0を使用することにしました。

テキスト/テーブルおよび画像コンテンツを正常に置換/更新できます(プレースホルダーのタグ付けには、コンテンツコントロールを使用しており、各コンテンツコントロールに一意のタグを割り当てます)。

チャートデータをどのように変更するか、私はまだ理解しようとしています。私がチャート部分について知っている限り、それはそれがデータを保存するそれ自身の基礎となるxlxデータファイルを持っています。チャートパートを更新するために、3つの異なるソリューションを考えることができます。

1.)Open SDKを使用して、基になるxlxファイルを更新します。これが可能かどうかはわかりませんが、xlxファイルだけを考えると、OpenXMLSdk自体を使用して変更できるはずです。

2.)チャートを作成し、画像に変換してから画像を置き換えます。

3.)コンテンツコントロールをそのXMLにバインドできるカスタムXMLについても読みました。したがって、アイデアは、データソースとしてカスタムXMLを使用してグラフを作成し、データxmlを動的に更新することです。

任意の提案やコードサンプルをいただければ幸いです。Open XMLSDK2.0を使用しています。

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

image - ASP.net から画像を含む Excel スプレッドシートを出力する方法

ASP.net Web アプリケーションを作成しているとします。

アプリケーションの元の設計者は、「PopChart」を使用して Web アプリケーションにいくつかの画像を表示していました。ページの 1 つに [Excel にエクスポート] ボタンがありました。ボタンをクリックすると、このチュートリアルのようにページのコンテンツが Excel に出力されます: http://aspalliance.com/articleViewer.aspx?aId=1&pId=

基本的にはHTMLをXLSファイルに出力してExcelが解釈するというものです。問題は、PopChart を取り除く必要があることです。PNG ファイルを出力する Web コントロールに置き換えました (ちなみに、MemoryStream実行時にオブジェクトに保存できます)。PopChart は、公開サーバーから実行される Flash コンポーネントを参照します。"PopChart" のデータは HTML に埋め込まれます。

しかし、PNG を出力する Web コントロールを使い始めると、すべてのデータが 1 つの PNG ファイルにまとめられます。PNGファイルをHTMLで出力する方法があることがわかりません。データを に埋め込んでみましたimg src=...が、Excel で解釈されません。Excel がサーバーから PNG ファイルをダウンロードすることもできません。サーバーはロックダウンされており、Excel はブラウザー セッションにアクセスできません。

私に何ができる?

更新: MSDN フォーラムで次のコード サンプルを見つけました。

このコードは、画像が埋め込まれた新しい Excel スプレッドシートを作成するように機能します。ただし、このコードを変更して、スプレッドシートの必要な場所に画像を配置することができませんでした。(はい、オフセットの値を変更してみました。) また、行と列にテキストまたは数値データを正常に追加できませんでした。

ここで誰かがこれを機能させましたか?

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

openxml - Open XML を使用して表の列の内容をフィルタリングするには

openxml sdk を使用して、テーブル列 (MS-word ドキュメント内) の内容をフィルター処理する必要があります。を使用してテーブルの列の内容を(文字列として)取得できます reference = tablerow.ElementAt<OpenXmlElement>(0).InnerText

私がする必要があるのは、列の内容を複数の文字列に分割することです。

abcdefghを使用して参照を取得していますreference = tablerow.ElementAt<OpenXmlElement>(0).InnerText

私が必要とするのは、別の文字列に分割することabcdですefgh

これは私が使用しているコードです:

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

.net - OpenXML の更新 customXMLPart

OOXML API を使用して、.docx のカスタム xml 部分を更新しています。このコードは、ドキュメント内のカスタム xml パーツを更新します。私の問題は、コンソールアプリで使用すると同じコードが完全な .docx を置き換えて生成することですが、ASP.NET アプリケーションで使用すると .docx を置き換えたり生成したりしません。問題のコード スニペットは次のとおりです。

なぜこれが起こっているのか、私は四角いです。どんな助けでも大歓迎ですありがとう

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

c# - OpenXMLSdkを使用して段落のテキストを置き換える方法

.Net OpenXmlSDK2.0を使用していくつかのOpenxmlワードドキュメントを解析しています。処理の一環として、特定の文を他の文に置き換える必要があります。段落を繰り返しながら、いつ置き換える必要があるかを見つけましたが、どのように置き換えることができるかについて困惑しています。

たとえば、"a contract exclusively for construction work that is not building work."以下のSharepointReusableコンテンツのhtmlスニペットに文を置き換える必要があるとします。

<span class="ms-rtestate-read ms-reusableTextView" contentEditable="false" id="__publishingReusableFragment" fragmentid="/Sites/Sandbox/ReusableContent/132_.000" >a contract exclusively for construction work that is not building work.</span>

PS:xsltを使用してdocxからHtmlへの変換を実行したので、この段階では問題ありません。

ParagraphノードのInnerTextプロパティは適切なテキストを提供しますが、内部テキストプロパティ自体は設定できません。したがって Regex.Match(currentParagraph.InnerText, currentString).Success 、trueを返し、現在の段落に必要なテキストが含まれていることを通知します。

私が言ったように、InnerText自体は設定できないので、outerxmlを使用して新しい段落を作成してみました。

このレベルでのフォーマットについてはあまり気にせず、何も含まれていないようですが、outerXMLには正規表現を無効にする余分な要素があるようです。

..."16" /><w:lang w:val="en-AU" /></w:rPr><w:t>a</w:t></w:r><w:proofErr w:type="gramEnd" /> <w:r w:rsidRPr="00C73B58"><w:rPr><w:sz w:val="16" /><w:szCs w:val="16" /><w:lang w:val="en-AU" /></w:rPr><w:t xml:space="preserve"> contract exclusively for construction work that is not building work.</w:t></w:r></w:p>

要約すると、OpenXmlの段落のテキストを他のテキストに置き換えるにはどうすればよいでしょうか。フォーマットの一部を失うことを犠牲にしてさえ。

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

c# - Inserting WorkSheet with Open XML - "...unreadable content..."

When I follow this tutorial:

http://msdn.microsoft.com/en-us/library/cc881781.aspx

to open an Excel document and insert an empty worksheet the final result is a message telling "Excel found unreadable content in ... Do you want to recover the contents of this workbook...". If I recover all the inserted sheets are blank (even if I add content programatically)

After renaming the xlsx to .zip and examining it shows that the worksheets have been created, and content added.

Anyone with any similar problems? It may be something with not creating relationships between newly created parts...