私はjavaで新しくできました。実際には私はjavaを使用してExcelシートの2つの列を交換したい。コードを使用しましたが、正しい出力が得られませんでした。私は私のExcelシートのスクリーンショットを追加します。私はシステム名と日付の列を交換したい。javaを使用してExcelシートの列を交換する
私も誤った出力のスクリーンショットを追加します。私は2016年
CellStyle cellStyle1 = workbook11.createCellStyle();
CreationHelper createHelper1 = workbook11.getCreationHelper();
cellStyle1.setDataFormat(createHelper1.createDataFormat().getFormat("d-mmm"));
try {
if (file11.exists()) {
String dt = sh1.getRow(0).getCell(1).getStringCellValue();
if (!dt.equalsIgnoreCase("Date")) {
Iterator<Row> rowIterator1 = sh1.iterator();
while (rowIterator1.hasNext()) {
Row row = rowIterator1.next();
if (row.getCell(1).getStringCellValue().equalsIgnoreCase("Date")) {
Cell cl1 = row.getCell(0);
Cell cl2 = row.getCell(1);
Cell temp = row.getCell(0);
Cell temp1 = row.getCell(1);
cl1.setCellValue(temp1.getStringCellValue());
cl2.setCellValue(temp.getStringCellValue());
} else {
Cell cl1 = row.getCell(0);
Cell cl2 = row.getCell(1);
cl2.setCellType(Cell.CELL_TYPE_STRING);
cl1.setCellType(Cell.CELL_TYPE_STRING);
Cell temp = row.getCell(0);
Cell temp1 = row.getCell(1);
cl1.setCellValue(temp1.getStringCellValue());
cl2.setCellValue(temp.getStringCellValue());
row.getCell(1).setCellStyle(cellStyle1);
}
}
}
}
}
代わり1-30th 9月の1900年1月24と29を持って編集:
私は次のことを試してみたxenteros'の答えによると:
CellStyle cellStyle1 = workbook11.createCellStyle();
CreationHelper createHelper1 = workbook11.getCreationHelper();
cellStyle1.setDataFormat(createHelper1.createDataFormat().getFormat("d-mmm"));
try {
if (file11.exists()) {
String dt = sh1.getRow(0).getCell(1).getStringCellValue();
if (!dt.equalsIgnoreCase("Date")) {
Iterator<Row> rowIterator1 = sh1.iterator();
while (rowIterator1.hasNext()) {
Row row = rowIterator1.next();
if (row.getCell(1).getStringCellValue().equalsIgnoreCase("Date")) {
Cell cl1 = row.getCell(0);
Cell cl2 = row.getCell(1);
String temp = new String(cl2.getStringCellValue());
cl2.setCellValue(cl1.getStringCellValue());
cl1.setCellValue(temp);
else {
Cell cl1 = row.getCell(0);
Cell cl2 = row.getCell(1);
cl2.setCellType(Cell.CELL_TYPE_STRING);
cl1.setCellType(Cell.CELL_TYPE_STRING);
String temp = new String(cl2.getStringCellValue());
System.out.println(temp);
java.util.Date temp2 = cl1.getDateCellValue();
cl2.setCellStyle(cellStyle1);
cl2.setCellValue(temp2);
cl1.setCellType(Cell.CELL_TYPE_STRING);
cl1.setCellValue(temp);
}
}
ああ、勘弁してくれよ!私はあなたのコードをbeutifulyのでフォーマットしました!なぜあなたはそれを破壊しましたか?それらの空白行は何ですか? – xenteros
あなたのコードに長い説明を追加しました。あなたはそれを理解できますか?それはあなたを助けましたか、それ以上の説明が必要ですか? – xenteros
コードを正しくインデントしてください。今のように、構造は推測するのが難しいです。 –