0

Code: poi を使用して Excel ファイルを解析し、出力をコンソールに出力し、出力を表示する新しい Excel ファイルも作成します。

XSSFWorkbook workbook = new XSSFWorkbook(fileName);
XSSFSheet sheet = workbook.getSheetAt(0);
    XSSFRow row ;
    XSSFCell cell;


    Iterator<Row>  rows = sheet.rowIterator();

    while(rows.hasNext())
    {
        row = (XSSFRow)rows.next();
        Iterator<Cell> cells = row.cellIterator();
        while(cells.hasNext())
        {
            cell = (XSSFCell)cells.next();

            switch(cell.getCellType()) 
            {
            case Cell.CELL_TYPE_BOOLEAN: System.out.println(cell.getBooleanCellValue()+"\t\t");
            break;
            case Cell.CELL_TYPE_NUMERIC: System.out.println(cell.getNumericCellValue()+ "\t\t");
            break;
            case Cell.CELL_TYPE_STRING:System.out.println(cell.getStringCellValue()+ "\t\t");
            break;
            }

        }System.out.println("");
    }fileName.close();  

    FileOutputStream out = new FileOutputStream(new File("C://data.xlsx"));
    workbook.write(out);
    out.close();

出力: ID
名前
場所
役割
給与

111.0
クマール
チェンナイ
デベロッパー
1000.0

112.0
ラーセン
バンガロール
デベロッパー
2000.0

クエリ: 1. Excel と同じ形式で出力を取得するにはどうすればよいですか? 2. 出力を DTO オブジェクトに格納する方法は?

4

1 に答える 1

0

この方法で値DTOを追加してみてください

と setter および getter のようなプロパティを持つ 1 つの Student DTO を作成します。Id,Name,Location,Role,Salary

     while(rows.hasNext())
            {
                row = (XSSFRow)rows.next();
                Iterator<Cell> cells = row.cellIterator();
    StudentDTO std = new StudentDTO();
                while(cells.hasNext())
                {
                    cell = (XSSFCell)cells.next();

                    switch(cell.getCellType()) 
                    {
                    case Cell.CELL_TYPE_BOOLEAN: System.out.println(cell.getBooleanCellValue()+"\t\t");
    std.setId(cell.getBooleanCellValue());
                    break;
                    case Cell.CELL_TYPE_NUMERIC: System.out.println(cell.getNumericCellValue()+ "\t\t");
    std.setName(cell.getNumericCellValue());
                    break;
                    case Cell.CELL_TYPE_STRING:System.out.println(cell.getStringCellValue()+ "\t\t");
std.setLocation(cell.getStringCellValue());
                    break;
                    }

                }System.out.println("");
            }
于 2013-05-03T12:04:40.357 に答える