Apache POIを使用してExcelシートから特定のセルを検索して印刷するにはどうすればよいですか?

アブドゥルムネム:

ライブラリの並べ替えプロジェクトのJavaコードを書いています。特定の列内のすべてのセルにわたって文字列を検索し、指定された部分文字列を含むセルを出力することです。書籍に関する各情報(著者、タイトル、ISBN)の列があるので、これを行う方法はありますか?これまでに次のコードを記述しました(ただし、インポートステートメントは使用していません)。これは、部分文字列を含む本の行全体を印刷するだけです。行を選択した後、その行から特定のセルを印刷するだけです。

public class testf {
 static List<Row> getRows(Sheet sheet, DataFormatter formatter, FormulaEvaluator evaluator, String searchValue) {
      List<Row> result = new ArrayList<Row>();
      String cellValue = "";
      for (Row row : sheet) {
       for (Cell cell : row) {
        cellValue = formatter.formatCellValue(cell, evaluator);
        if (cellValue.contains(searchValue)) {
         result.add(row);
         break;
        }
       }
      }
      return result;
     }
public static void main(String[] args) throws IOException, InvalidFormatException {
       try
        {
            FileInputStream file = new FileInputStream(new File("C:\\\\Users\\\\abdul\\\\Desktop\\\\University Files\\\\Object-Oriented Programming\\\\Project files\\\\Book class\\\\Books & DDC.xlsx"));

        //Create Workbook instance holding reference to .xlsx file
        XSSFWorkbook workbook = new XSSFWorkbook(file);

        //Get first/desired sheet from the workbook
        XSSFSheet sheet = workbook.getSheetAt(0);


        DataFormatter formatter = new DataFormatter();
        FormulaEvaluator evaluator =  workbook.getCreationHelper().createFormulaEvaluator();
        Scanner a = new Scanner(System.in);
        List<Row> filteredRows = getRows(sheet, formatter, evaluator, "y");

        for (Row row : filteredRows) {
         for (Cell cell : row) {
          System.out.print(formatter.formatCellValue(cell, evaluator));
          System.out.print("\t \t");
         }
         System.out.println();
        }
        file.close();
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }

}}

アブディスカリムジャン:

これは、メソッドgetRowsが、必要な基準を持つセルが存在するすべての行を返すが、どのセルを正確に通知しないかを示しているため、必要なのはセルを返すことです。

getRows-> getCells

そしてそのメソッドのコードは次のようになります:

static List<Cell> getCells(Sheet sheet, DataFormatter formatter, FormulaEvaluator evaluator, String searchValue) {
    List<Cell> result = new ArrayList<>();
    String cellValue = "";
    for (Row row : sheet) {
        for (Cell cell : row) {
            cellValue = formatter.formatCellValue(cell, evaluator);
            if (cellValue.contains(searchValue)) {
                result.add(cell);
                break;
            }
        }
    }
    return result;
}

印刷に関しては、セルのリストをループして通常どおりに印刷し、何らかの理由で特定のセルの行が必要な場合は、cell.getRow()を呼び出すだけです。

List<Cell> filteredCells = getCells(sheet, formatter, evaluator, "whatever");

for (Cell cell : filteredCells) {
    System.out.print(formatter.formatCellValue(cell, evaluator));
    System.out.print("\t \t");
    Row cellsRow = cell.getRow();// if you need the full row
}

ところで、私はあなたが持っている仕様については知りませんが、フィルタリング方法にあるブレークは、行に必要な値を持つ複数のセルがある場合、最初のセルのみを取得することを意味しますので、それについて注意してください、それがあなたがまさに望んでいるものでない限り、私はその休憩を取り除くことをお勧めします

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

apache-poiを使用してExcelシートからPojoオブジェクトに値を設定するにはどうすればよいですか?

分類Dev

Apache POIを使用してExcelドキュメントの領域をテーブルに変換するにはどうすればよいですか?

分類Dev

JavaでApache poiを使用してExcelで警告を削除するにはどうすればよいですか?

分類Dev

Apache POIを使用して、.xlsxファイルのすべてのセルで空白をnullとして返すにはどうすればよいですか?

分類Dev

Apache POI HSSFを使用して、すべての数式セルを一度に更新するにはどうすればよいですか?

分類Dev

Apache POIを使用してセルをマージし、同時に値を設定するにはどうすればよいですか?

分類Dev

Java(Selenium)セットアップでApache POIを使用して、複数のスレッド(並列テストケース)が同じExcelファイルに同時にアクセスするにはどうすればよいですか?

分類Dev

Apache POI APIを使用してExcelセルがロックされているかどうかをどのように確認できますか?

分類Dev

Apache poiを介してWordファイルのグローバルフォントを設定するにはどうすればよいですか?

分類Dev

Apache Poiを使用してExcelシートからセル値を取得する

分類Dev

apache poiを使用して、Excelピボットテーブルの列ラベルではなく行ラベルで合計、平均などの集計を生成するにはどうすればよいですか?

分類Dev

Java Apache POIを使用してExcelにヘッダー列を追加するにはどうすればよいですか?

分類Dev

apache poiを使用して特定のWord文書の色を変更するにはどうすればよいですか?

分類Dev

セル幅よりも大きいセル値をマージしたApache-POIを使用してExcel行の高さを増やすにはどうすればよいですか?

分類Dev

グレムリン(Apache TinkerPop)を使用してグラフデータベースで頂点を検索するにはどうすればよいですか?

分類Dev

Apache POIでExcelからデフォルトのセル形式を読み取るにはどうすればよいですか?

分類Dev

Apache PDFBoxを使用してプッシュボタンからラベルテキストを抽出するにはどうすればよいですか?

分類Dev

Apache POIを使用してXSSFTable列の並べ替え/フィルタリングを有効にするにはどうすればよいですか?

分類Dev

Apache poiを使用してpptxスライドノートテキストを取得するにはどうすればよいですか?

分類Dev

Apache POIを使用してWord文書の画像にハイパーリンクを追加するにはどうすればよいですか?

分類Dev

Apacheを使用してdjangoのデフォルトのApacheページを解決するにはどうすればよいですか?

分類Dev

Apache poiを使用して.docxを生成するときに、フッターに間隔を追加するにはどうすればよいですか?

分類Dev

Apache Nutchを介して特定のトピックのWebクロールを実行するにはどうすればよいですか?

分類Dev

apache2をインストールして起動するにはどうすればよいですか

分類Dev

Apache POIを介してExcelサンバーストチャートの個々のデータラベルのテキスト属性を設定するにはどうすればよいですか?

分類Dev

Apache POI XSSF 4.10でセルタイプを文字列として設定するにはどうすればよいですか?

分類Dev

Apache POI XSSF 4.10でセルタイプを文字列として設定するにはどうすればよいですか?

分類Dev

Apache POI PPT APIを使用してテキストフォントを設定するにはどうすればよいですか?

分類Dev

Apache-FlinkのTaskMangersを使用してフォールトトレランス(リカバリ)を実現するにはどうすればよいですか?

Related 関連記事

  1. 1

    apache-poiを使用してExcelシートからPojoオブジェクトに値を設定するにはどうすればよいですか?

  2. 2

    Apache POIを使用してExcelドキュメントの領域をテーブルに変換するにはどうすればよいですか?

  3. 3

    JavaでApache poiを使用してExcelで警告を削除するにはどうすればよいですか?

  4. 4

    Apache POIを使用して、.xlsxファイルのすべてのセルで空白をnullとして返すにはどうすればよいですか?

  5. 5

    Apache POI HSSFを使用して、すべての数式セルを一度に更新するにはどうすればよいですか?

  6. 6

    Apache POIを使用してセルをマージし、同時に値を設定するにはどうすればよいですか?

  7. 7

    Java(Selenium)セットアップでApache POIを使用して、複数のスレッド(並列テストケース)が同じExcelファイルに同時にアクセスするにはどうすればよいですか?

  8. 8

    Apache POI APIを使用してExcelセルがロックされているかどうかをどのように確認できますか?

  9. 9

    Apache poiを介してWordファイルのグローバルフォントを設定するにはどうすればよいですか?

  10. 10

    Apache Poiを使用してExcelシートからセル値を取得する

  11. 11

    apache poiを使用して、Excelピボットテーブルの列ラベルではなく行ラベルで合計、平均などの集計を生成するにはどうすればよいですか?

  12. 12

    Java Apache POIを使用してExcelにヘッダー列を追加するにはどうすればよいですか?

  13. 13

    apache poiを使用して特定のWord文書の色を変更するにはどうすればよいですか?

  14. 14

    セル幅よりも大きいセル値をマージしたApache-POIを使用してExcel行の高さを増やすにはどうすればよいですか?

  15. 15

    グレムリン(Apache TinkerPop)を使用してグラフデータベースで頂点を検索するにはどうすればよいですか?

  16. 16

    Apache POIでExcelからデフォルトのセル形式を読み取るにはどうすればよいですか?

  17. 17

    Apache PDFBoxを使用してプッシュボタンからラベルテキストを抽出するにはどうすればよいですか?

  18. 18

    Apache POIを使用してXSSFTable列の並べ替え/フィルタリングを有効にするにはどうすればよいですか?

  19. 19

    Apache poiを使用してpptxスライドノートテキストを取得するにはどうすればよいですか?

  20. 20

    Apache POIを使用してWord文書の画像にハイパーリンクを追加するにはどうすればよいですか?

  21. 21

    Apacheを使用してdjangoのデフォルトのApacheページを解決するにはどうすればよいですか?

  22. 22

    Apache poiを使用して.docxを生成するときに、フッターに間隔を追加するにはどうすればよいですか?

  23. 23

    Apache Nutchを介して特定のトピックのWebクロールを実行するにはどうすればよいですか?

  24. 24

    apache2をインストールして起動するにはどうすればよいですか

  25. 25

    Apache POIを介してExcelサンバーストチャートの個々のデータラベルのテキスト属性を設定するにはどうすればよいですか?

  26. 26

    Apache POI XSSF 4.10でセルタイプを文字列として設定するにはどうすればよいですか?

  27. 27

    Apache POI XSSF 4.10でセルタイプを文字列として設定するにはどうすればよいですか?

  28. 28

    Apache POI PPT APIを使用してテキストフォントを設定するにはどうすればよいですか?

  29. 29

    Apache-FlinkのTaskMangersを使用してフォールトトレランス(リカバリ)を実現するにはどうすればよいですか?

ホットタグ

アーカイブ