我有一个包含 216 个 xsls 文件的文件夹。我的逻辑是循环抛出文件夹并读取每个文件,复制每个文件的第一行并将该行写入新的 .xsls 文件。
我想复制第一行而不迭代抛出行并读取每个单元格?例如,如果您复制 .txt 文件或 .csv 文件中的第一行。
此外,这是一个非常缓慢的过程。您有加快此过程的提示吗?
public static void listFilesForFolder(final File folder,final File exported, int skipLine) {
try {
for (final File fileEntry : folder.listFiles()) {
String ext = fileEntry.getName().substring(fileEntry.getName().lastIndexOf('.') + 1);
System.out.println("-->> " + fileEntry.getName() + "-->>");
FileInputStream file = new FileInputStream(new File(fileEntry.getPath()));
if (fileEntry.isDirectory()) {
continue;
} else if(ext.equals("xlsx")) {
XSSFWorkbook myWorkBook = new XSSFWorkbook(file);
XSSFSheet mySheet = myWorkBook.getSheetAt(0);
Iterator<Row> rowIterator = mySheet.iterator();
Row row = rowIterator.next();
row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()){
case STRING:
System.out.print(cell.getStringCellValue() + "\t");
break;
case NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t");
break;
default:
}
}
System.out.println("");
file.close();
}
}
}catch (Exception e){
System.out.println(e.getMessage());
}
}