0
キーワードに基づいてスプレッドシートをフィルタリングしようとしています。私はその後、多次元の文字列配列(セルの値と行)に行を格納します。私は各セルを別々の要素にするようには思えません。すべてのアレイ内のすべてのセルが1列に追加されています:ここで文字列としてHSSF行を保存する方法Java POI
はコードです:
////Adding each filtered row to an ArrayList
FileInputStream fis = new FileInputStream(new File("myfile.xls"));
HSSFWorkbook workBook = new HSSFWorkbook (fis);
HSSFSheet sheet = workBook.getSheetAt (0);
List<HSSFRow> filteredRows = new ArrayList<HSSFRow>();
ArrayList<List<HSSFRow>> TwoD = new ArrayList<List<HSSFRow>>();
Iterator<Row> rows= sheet.rowIterator();
while (rows.hasNext()){
HSSFRow row = (HSSFRow) rows.next();
Iterator<Cell> cells = row.cellIterator();
while (cells.hasNext()){
HSSFCell cell = (HSSFCell) cells.next();
if (cell.toString().contains("GHH")) {
filteredRows.add(row);
}
}
}
/////// Now iterating through the filteredRows arrayList and turn it into multidimensional String array
ArrayList<String> in =new ArrayList<String>();
ArrayList<List<String>> out = new ArrayList<List<String>>();
for (HSSFRow n:filteredRows){
Iterator<Cell> cells = n.cellIterator();
while (cells.hasNext()){
HSSFCell cell = (HSSFCell) cells.next();
in.add(cell.toString());
}
out.add(in);
}
workBook.close();
行ごとのforループ内で作成される 'in'変数を移動してはいけませんか? – Gagravarr
Aha。はい。答えとして追加 –