問題タブ [npoi]
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.
c# - npoi apiを使用してxlsファイルに画像を挿入しますか?
Excel ワークブックのシートに画像を挿入したい。画像を挿入するための私のコードは次のとおりです。
どこが間違っているのかわかりません。コードはエラー/例外なしで正常に実行されます。
c# - NPOIを使用して、asp.netによって生成されたExcelでチャートを操作するには?
修正できるかどうかはわかりませんが、次のような状況があります。
いくつDataTable
かのデータがあり、このデータを使用するチャートを準備する必要があります。任意のチャートを動的に作成する唯一の可能性NPOI
は、テンプレートを準備し、Excel のセルのみを埋めることです。しかし、私はいくつかの問題があります:
データの行数を動的に持つことができます。したがって、たとえば 4 行と 7 行に 1 つのテンプレートを使用できるようにする必要があります。したがって、(テンプレートで) より多くのデータを選択し、それらの一部のみを使用するという考えがありますが、次のような状況があります。
したがって、チャートの範囲を動的に変更する必要があります。私の問題を解決する可能性はありますか?
c# - 大きなドキュメントを生成した後、IISのメモリ使用量が通常に戻りません
ASP.NET MVCアプリケーションでは、NPOIフレームワークを使用して、かなり大きなExcelファイル(30〜100 MB)を生成しています。
ドキュメントを生成した後、それをメモリストリームに保存し、MVCファイルヘルパーメソッドを使用してFileStreamResultを返します
このような
可変ドキュメントは、NPOIフレームワークの「HSSFWorkbook」タイプです。
ドキュメントが生成され、ストリームがユーザーに返された後でも、メモリ使用量が高いままである理由がわかりません。Fileメソッドは、応答ストリームに書き込んだ後にストリームを破棄する必要があります。
生成リンクをもう一度クリックすると、メモリ使用量が通常に戻り、ドキュメントが再度生成されるにつれて増加し始めます。
これは、NPOI HSSFWorkbookクラスがガベージコレクションされていないなどの問題でしょうか?私は静的変数を保存していないので、それは奇妙なことです(少なくとも私のコードにはありません)。
メモリ使用量が通常に戻らない理由を誰かが知っていますか?
c# - プログラムでExcelのマクロテキストを変更する
ハードドライブ上の多くのフォルダに約数千のExcel(xls、古い形式)ファイルが分散しています。これらのファイルには、データベースに接続するのと同じマクロがあります。また、マクロには接続文字列が含まれています。マクロはパスワードで保護されていますが、幸いなことに私はパスワードを知っています。
質問:すべてのファイル内のマクロの接続文字列を変更するための最良の方法は何ですか?
NPOIを使用してxlsファイルを作成/変更した経験があります。Interopライブラリがパスワードで保護されたWordファイルのロックを解除し、編集を行っているのを見てきました。しかし、Excelファイル内のマクロテキストをプログラムで変更する例を見たことがありません。それも可能ですか?
psコードの記述に問題はありません。問題は、適切なツールを選択することです。
openxml - Excelセル形式(.XLSと.XLSXの両方)の読み方
Excelのセルで利用可能なフォーマット情報を読む必要があります。Excelファイルには、「いくつかのサンプルテキスト」のようなテキストを含むセルが含まれている場合があります。各単語には、異なるフォーマット情報があります。「Some」という単語のように、太字でフォントの色とサイズが異なる場合があります。次の単語は違うかもしれません。
単一のセル値に設定された個々のフォーマット情報を読み取ることはできますか?はいの場合、同じ方法を教えてください。
私はNPOIとOpenXMLSDK2.5を使用していましたが、運がありませんでした。これはサーバーで処理されるため、Excelの相互運用機能は使用しないことをお勧めします。
c# - NPOI.SS を NPOI.XSSF に変換するにはどうすればよいですか?
私は現在、Excel Interop ライブラリを使用する必要性を置き換えようとしていますが、NPOIに移行しています。現時点では、次のコードで少し問題があります。
私が受け取っているエラーは次のとおりです。
どこが間違っていますか?HSSFへの言及がないことは確かです。
注: これ以外にも間違いを犯したと確信しているので、何か気づいたら指摘してください。
c# - C#. NPOI 2.0によるDataTableへのxlsx日付セルのインポート
NPOI 2.0 ライブラリを使用して .xlsx ファイルを DataTable 形式に変換しようとしています。大丈夫ですが、文字列の日付セルへの変換に問題があります。row.GetCell(j).ToString() のような構造を使用しようとすると、「テキスト セルから数値を取得できません」という例外がスローされます。DateCellValue プロパティを使用しようとしましたが、この例外もスローされました。他のセル形式ではうまく機能します。私が使用する機能は次のとおりです。
更新:次のようなコードを挿入すると
問題のセルには、「36496.392581018517」のような値があります。別のセルが正しく変換されました
c# - NPOI Export DateTime の問題
NPOIで輸出しました。
セル値を設定しました:
ここで、Excel はこれをテキスト フィールドと見なし、セル タイプを Excel に設定する必要がありますDateTime
。
これは可能ですか?
私が試してみました:
しかし、うまくいきません。
asp.net-mvc - アップロードされたExcelファイルのコンテンツタイプがASPMVC4.0のMacでapplication/octet-streamに変更されるのはなぜですか?
少し問題があります!私は、Excelファイルをインポートして処理する必要があるクライアント用のaspmvc4アプリケーションを設計しています。Excelファイルを処理するには、C#バージョンのNPOIフレームワークを使用します。
クライアントはMacを使用し、Windowsを使用しています。
Windowsではすべて正常に動作しますが、クライアントがMacで試してみると、動作しなくなります。いくつか検索したところ、アップロードされたファイルのコンテンツタイプは、macからアップロードした場合は「application / octet-stream」でした(Windowsからアップロードした場合は「application / vnd.ms-excel」ではありません)。
まったく同じファイルを使用しますが、唯一の違いは、クライアントファイルがMacに保存され、Windows PCに保存されることです(どちらもGoogleドキュメントから同じファイルを取得しました)。
彼がMacに保存されたファイルを使ってWindowsPCでそれを試したときに同じエラーが発生したとき、それはより奇妙になりました。
誰かが何が起こっているのかについての考えを持っていますか?または、コンテンツタイプが「application / octet-stream」の場合にNPOI処理を機能させるにはどうすればよいですか?
vb.net - npoi と VISUAL BASIC を使用して (列、行) 単位で Excel ファイルを読み取る方法
VB .NET で、列インデックスごと、行ごとに Excel ファイルを準備できるようにしたいと考えています。
Python XLRD と "ADOX.Catalog" 経由の vb6 で非常に簡単に実行できます。
基本的に、これは私のニーズには十分なはずです:
どうやってやるの?
- ワークシートの列を取得する方法はありますか?
- NPOI のドキュメントは見つかりませんでした
- NPOI のダウンロード (アルファ版、ベータ版、安定版) に *.vb ファイルのサンプルが見つかりませんでした
- ファイルのバージョンを検出して正しいオープナー クラスを取得する統合された Excel ファイル オープナーはありますか、それともファイル拡張子で行う必要がありますか?
- 主観的な質問: この API が複雑すぎると思うのは私だけでしょうか?
重要な編集: コンピューターに Excel をインストールできないため、Excel 以外のソリューションを探しています
ps。私は.netが初めてです