Excelファイルからデータを読み取ってデータベースに保存する必要があるプログラムがあります。LinkedHashmap を使用して、各セルを文字列として読み取ります。私のExcelファイルには上記のデータが含まれています:
ID名 給与
5 クリスティーン 2349000
6 パウリナ 1000
7 ローラ 12587458
8 efi 34567
43 ジム 45878
プログラムを実行しているときに、必要な結果が得られました。私が今抱えている問題は、ID の昇順でデータベースにデータを保存したいということです。どうすればこれを行うことができますか? 私はtreeMapを使用しなければならないことを知っていますが、どのように正確ですか? 以下のコードは、データベースにデータを格納するためのものです。Excelファイルの2行目からデータを読み取っています。
private static LinkedHashMap[] parseExcelColumnData(List sheetData) {
LinkedHashMap[] tousRows = new LinkedHashMap[sheetData.size() - 1];
for (int rowCounter = 1; rowCounter < sheetData.size(); rowCounter++) {
List list = (List) sheetData.get(rowCounter);
LinkedHashMap<String, Integer> tableFields = new LinkedHashMap(list.size());
String str;
String[] tousFields = new String[list.size()];
int i = 0;
for (int j = 0; j < list.size(); j++) {
Cell cell = (Cell) list.get(j);
if (cell != null) {
if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
tableFields.put(String.valueOf(cell
.getNumericCellValue()), cell.getCellType());
} else if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
tableFields.put(cell.getStringCellValue(), cell
.getCellType());
} else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
tableFields.put(String.valueOf(cell
.getBooleanCellValue()), cell.getCellType());
}
}
}
tousRows[rowCounter - 1] = tableFields;
}