POIインプリメンテーションはExcelファイルにインポートされます
問題の説明
データを一括インポートする必要があり、データは
POI紹介
私が選んだのは
ここではその中の
インプリメンテーション
まず、
バージョンの処理
ここでは
テーブルデータの取得
テーブルのデータを取得するには、次の手順に従います.
1.テーブルの取得
2.ローの取得
3.この行のセルを取得
コード実装:
永続化
セル内のデータを取得すると、最後にデータでオブジェクトを作成します.
関連リファレンス:https://poi.apache.org/compon...https://blog.csdn.net/daihuim...
データを一括インポートする必要があり、データは
Excel
形式でインポートされます.POI紹介
私が選んだのは
apache POI
です.これはApache
オープンの関数ライブラリで、officeファイルを読み書きできるようにAPIをjavaに提供します.ここではその中の
Excel
部分を使うだけです.インプリメンテーション
まず、
Excel
には2つのフォーマットがあり、1つは.xls(03 )
であり、もう1つは.xlsx(07 )
である.POI
は、2つの異なる表形式に対応して2つのインタフェースを提供する.HSSFWorkbook
およびXSSFWorkbook
依存のインポート
org.apache.poi
poi
RELEASE
org.apache.poi
poi-ooxml
RELEASE
バージョンの処理
Workbook workbook = null;
try {
if (file.getPath().endsWith("xls")) {
System.out.println(" 2003 ");
workbook = new XSSFWorkbook(new FileInputStream(file));
} else if (file.getPath().endsWith("xlsx")){
workbook = new HSSFWorkbook(new FileInputStream(file));
System.out.println(" 2007 ");
}
} catch (IOException e) {
e.printStackTrace();
}
ここでは
Excel
を判断し,拡張子に応じて異なるクラスでファイルを処理する必要がある.テーブルデータの取得
テーブルのデータを取得するには、次の手順に従います.
1.テーブルの取得
2.ローの取得
3.この行のセルを取得
コード実装:
//
Sheet sheet = workbook.getSheetAt(0);
//
for (int i = 0; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i); //
//
String studentNum = row.getCell(0).getStringCellValue();
String name = row.getCell(1).getStringCellValue();
String phone = row.getCell(2).getStringCellValue();
}
永続化
セル内のデータを取得すると、最後にデータでオブジェクトを作成します.
List studentList = new ArrayList<>();
for (int i = 0; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i); //
//
String studentNum = row.getCell(0).getStringCellValue();
String name = row.getCell(1).getStringCellValue();
String phone = row.getCell(2).getStringCellValue();
Student student = new Student();
student.setStudentNumber(studentNum);
student.setName(name);
student.setPhoneNumber(phone);
studentList.add(student);
}
//
studentRepository.saveAll(studentList);
関連リファレンス:https://poi.apache.org/compon...https://blog.csdn.net/daihuim...