問題タブ [closedxml]

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 投票する
2 に答える
5557 参照

c# - ClosedXMLでカットされた列範囲を取得するには?

データの検証とスタイル設定を列範囲に適用したいが、ヘッダー セルは適用しない。今、私は2つのステップでそれをやっています:

  • 列範囲にルールを適用する
  • ヘッダー セルをクリアする

動作しますが、他のすべてのセルの後にヘッダー セルを編集する必要があります。ハックのように見えますが、もっと良い方法があるかもしれません。

では、一番上のセルのない列を選択するにはどうすればよいでしょうか?

0 投票する
4 に答える
3516 参照

c# - VLOOKUP 式を使用した ClosedXML 読み取り行

現在、closedXML を使用して Excel からデータを読み取るプロジェクトに取り組んでいますが、Excel セルに vlookup 式が含まれているため、コードにエラーが発生しています。closedxml が vlookup 式で行の値を読み取る方法はありますか? ありがとう!

これは、「構文エラー」エラーが発生する場所です。

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

c# - ClosedXML 既存のテーブルへのデータの追加

ClosedXML を使用して、既存のテーブルの既存の Excel シートにデータを追加しようとしています。簡単にできることは、表を Excel シートに追加することです。以下は、その方法の簡単な例です。私が理解できないのは、空のテーブルが既にある場合、どうすれば既存のテーブルに追加できるのでしょうか?

0 投票する
0 に答える
1719 参照

c# - OpenXML ワークシートでの自動改ページの位置の決定

出力ドキュメントを Excel xlsx 形式で生成するプログラムに取り組んでいます。私は機能を作成し、当初は Excel Interop を使用して期待される出力/結果を得ていましたが、単一の出力を完了するのにかなりの時間がかかっていたため、OpenXML を使用して同じ機能を複製しようとしています (現在、変換を簡素化するために ClosedXML ライブラリを使用しています)。 Excel Interop からですが、私は他のライブラリやメソッドを受け入れています...)

基本的なプロセスは、テンプレート ファイル (最初の印刷領域 [A1:M27] があり、印刷設定が既にセットアップおよび定義されている) を開いてから、テンプレートにデータを入力することです。データの最初の行はセル A11 から始まり、必要に応じてこの下に追加の行が挿入されます。(このデータ テーブルの下にあるテンプレートには追加のものがあるため、挿入される最後の行は実際の印刷領域の下部ではありません。)

2行目のデータを挿入した後、指定されたセルの値とそのすぐ上にあるセルの値が同じかどうかをチェックする関数があります。その場合は、マージする前に改ページがないことを確認します。

関連するコードのセクションは次のとおりです。

ただし、出力を生成すると、改ページを越えてセルをマージすることになります。コードをステップ実行したところ、常にoutputSheet.PageSetup.RowBreaks空であることがわかりました...それでも、出力ファイルを Excel で開くと、結合されたセルの途中で自動改ページが行われます。

  

 

テストを行い、データ行がテンプレートに挿入される場所に水平改ページを挿入して、手動で配置された改ページが正しく検出されるかどうか確認し、改ページのチェックが意図したとおりに機能するかどうかを確認しました...ただし、手動で挿入されたブレーク。

したがって、私の問題は、既存の印刷とページ設定に基づいて自動的に決定される改ページの場所にあるようです。

自動改ページが OpenXML (またはExcel Interop 以外のもの) どこにあるかを判断することは可能ですか?

ヘルプやアドバイスをいただければ幸いです。


編集/更新: 現在の状況でこれを回避する方法を考え出すことができましたが、最初の最初の改ページを挿入した後はうまく機能しません。

テンプレートを使用して、行の高さを 1 ポイント増やすと自動改ページがシフトするポイントが見つかるまで、行の高さを段階的に増やしました。その改ページの前の行の高さを合計して の値を与える関数を書きました943

次に、改ページをチェックする前に、次のプロシージャを呼び出します。

欠点は、ページ レイアウト、スケーリング、ページの向きなどの違いにより、使用するさまざまな出力テンプレートごとにこの手順のバリエーションを使用する必要があることです。応用。さらに、最初の改ページが挿入された後に発生する「ドリフト」が少しあるように見え、3 ページ目までに Excel の自動改ページが挿入される場所に改ページが収まりません。

だから...まだより良い解決策を探しています。

0 投票する
0 に答える
2557 参照

c# - 7万行を超えるとSystem.outofmemoryexceptionをスローするExcelへのエクスポート(クローズドXML)

私はclosedxmlを使用して、データテーブルをasp.netでExcelにエクスポートしています。エクスポートする行が 5 万行未満の場合は問題なく動作しますが、それ以上の行をエクスポートすると例外がスローされます。31列あります。データテーブルを10000行に分割してから、データテーブルを別のシートに追加しています。誰かが私を助けてくれれば幸いです。以下はコードです。

私も次を使用してみました

0 投票する
0 に答える
368 参照

c# - ClosedXML を使用して Excel の関係を作成する方法はありますか? データセットを使用して実行しようとしましたが、Excel ファイルに実装されていませんでした

ClosedXML を使用して Excel の関係を作成する方法はありますか? データセットを使用して実行しようとしましたが、Excel ファイルに実装されていませんでした。