問題タブ [poi-hssf]

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

java - HSSFCellStyleの前景色の設定は常に黒で表示されます

POIを使用してJavaでExcelスプレッドシートを作成しています。ヘッダー行の作成に使用する次のコードがあります。

私が抱えている問題は、セルに塗りつぶしの背景色を設定すると、どの色を選択しても、常に黒になるということです。私は何が間違っているのですか?「setFillPattern」行を使用しないと、色がまったく表示されません。

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

java - コンテンツがあるにもかかわらず、セル値が空の文字列として返されるのはなぜですか?

POI HSSF API を使用して Excel ファイルをデータ構造に変換する Java メソッドを作成しました。

コードはしばらくの間問題なく動作しました。しかし、ここで突然問題が発生します。以前は Office 2003 を使用していましたが、最近すべてのクライアント コンピューターに Office 2007 をインストールしたことが原因ではないかと思います。

私が遭遇した問題は次のとおりです。XLS ファイル内に、ユーザーがシリアル番号を入力したセルの列があります。Java アプリケーションがセルを取得すると、そのセル タイプは STRING になります。セルの文字列値を要求すると、空の文字列が返されます。

このファイルは最初はアプリケーションによって作成され、ユーザーはそのファイルにデータを入力してアプリケーションにロードし直します。同じバージョンの API で作成されているので、ファイル形式は間違っていないと思います。

何が問題なのですか?

編集:

明確化: Office のインストールを 2007 にアップグレードしましたが、アプリケーションは引き続き HSSF および XLS 形式を使用します。ユーザーのみが Office 2007 でファイルを開いて編集します。それは問題ですか?

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

java - javac: パッケージ org.apache.poi.hssf.usermodel が存在しません

jakarta-poi-3.0.2.jar/usr/share/java ディレクトリのクラスを使用しようとするプログラムがあります。

コンパイルすると、package org.apache.poi.hssf.usermodel does not exist上記のインポートごとにエラーが発生します。

クラスパスに /usr/share/java があります。他に何か不足していますか?

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

java - Apache POIを使用してExcelシートで特定の日付を検索するにはどうすればよいですか?

シートの内容を検索するために与えられたサンプルコードを使用しています:

}

しかし、シートから抽出された日付を特定の日付と適切に比較する方法を見つけることができません。データ検証を使用し、日付を文字列にフォーマットし、さらに条件ステートメントを含めてみましたが、何も機能しませんでした。

比較的単純な問題のようで、必要ですが、まだ修正できていませんか?

どんな助けでも大歓迎です!

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

excel - ユーザーがJava/StrutsのWebアプリケーションからデータベースのデータをExcelシートファイルにダウンロードできるようにする方法は?

データベースのデータから生成された Excel シートを含むレポートを生成したいと考えています。モデルでExcelシートファイルを作成するためにApache POI HSSFを使用しています。

作成したファイルをユーザーにダウンロードさせる方法は?

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

java - 既存のExcelシートの2行の間に新しい行を挿入する方法

既存の (Apache POI)を使用し、既存HSSFWorkBookの 2 つの行の間に新しい値を挿入して新しい行を挿入したい で試しましsheet.shiftRows(n1, n2, n3)たが、値をシフトした後に上書きされます。どうすればいいですか?

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

java - HSSF (Apache POI) で行をコピーして貼り付ける

重複の可能性:
HSSF (Apache POI) を使用して既存の Excel で 2 つの行の間に行を挿入する方法

HSSF を使用して行の値とすべての書式設定をコピーするにはどうすればよいですか。MS Excel またはその他のスプレッド シート アプリケーションを使用すると、コピーと貼り付けが簡単です。しかし今、Java で HSSF を使用して行をコピーする際に問題が発生しています。

現在の私のシナリオは、Cell:A46 を使用していて、それがテーブルの最後の行ですが、セルに入力するデータがまだたくさんあります。フォーマットも必要なので、単純に行とセルを作成することはできません。また、Cell:A46 の後に書式設定された Excel テンプレートを使用しているため、一部の数式が壊れる場合もあります。

0 投票する
8 に答える
112823 参照

java - HSSF (Apache POI) を使用して既存の Excel で 2 つの行の間に行を挿入する方法

どういうわけか、既存の Excel ファイルの 2 つの行の間に新しい行を作成することができました。問題は、行のシフトに沿ってフォーマットの一部が含まれていないことです。

そのうちの 1 つは、シフト中に非表示になっている行が比較的進まないことです。つまり、(例) 20 から 30 までの行は非表示になっていますが、新しい行を作成すると、書式設定はまだ残っています。非表示の行も、新しい行の挿入/作成中に移動する必要があり、21 ~ 31 である必要があります。

もう1つのことは、セルにないシート内の他のオブジェクトです。テキストボックスと同様に、新しい行が作成された後は移動しません。これらのオブジェクトの位置が固定されているようです。しかし、新しい行を挿入したり、Excelで行を貼り付けたりするのと同じように、移動させたいです。新しい行を挿入する機能があれば教えてください。

これは私が今持っているもので、私のコードのほんの一部です。

行のコピーと貼り付けが可能であれば、それは大きな助けになります。しかし、私はすでにここでそれを尋ねており、解決策を見つけることができません。そこで、暫定的な解決策として行を作成することにしました。私はそれで終わりましたが、このような問題があります。

どんな助けでも大歓迎です。ありがとう!

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

java - java HSSF POIを使用してExcelでフィールドにデータを入力する - Excelで日付フィールドが正しくソートされない

だから私は Java の HSSF POI を使用して Excel ドキュメントを作成しています。いくつかのヘッダーが既に入力されている Excel テンプレートを使用しています...

そして私の問題は、列の1つにMM/dd/yyyyの日付形式のデータを入力すると...

列には次のようなデータが適切に入力されます.... 01/01/2011 05/04/2010 03/03/2009

バグは、オートフィルターを使用して (Excel で) この列で並べ替えを実行すると、昇順で並べ替えると、間違った順序で日付が返されることです....

2011/01/01

2009/03/03

2010/05/04

(日付でソートするのではなく、文字列のように読み取ってソートしているため)

列を「数値」列として設定しようとしましたが、まだサイコロを並べ替えません....

また、この方法でフォーマットしても役に立ちませんでした...

これはすべて Excel 2003 で発生しています。解決方法がわかりません。

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

apache - Apache POI-HSSF: テキスト文字列の代わりに 10 進数を取得する

Excel ファイルの操作に Apache POI-HSSF を使用しています。

スプレッドシートに「115」のようなセルがあります。「テキスト」としてフォーマットされていることを確認しました(セルのフォーマット->テキスト)。

ただし、row.getCell(0).toString()として読み込むと

「115.0」という文字列が表示されます

これは正しくありません。テキストとして明示的にフォーマットされているため、「115」を取得する必要があります。どうすれば望ましい結果を得ることができますか? セルは数字でも文字でもかまいません。セルと同じ文字列を期待しています。ありがとう