public class Demo {
public static void main(String[] args)
throws EncryptedDocumentException, InvalidFormatException, FileNotFoundException, IOException {
method("E:\\XX\\XX\\XX.xlsx", new int[] { 2, 4, 5, 6, 11, 12, 13, 14, 15 });
System.out.println("end");
}
public static void method(String filePath, int[] columns)
throws EncryptedDocumentException, InvalidFormatException, FileNotFoundException, IOException {
String fileName = filePath;
int[] cols = columns;
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(new File("E:\\XX\\XX\\XX.txt"))));
File file = new File(fileName);
Workbook wb = WorkbookFactory.create(new FileInputStream(file));
Sheet sheet = wb.getSheetAt(0);
Row row;
Cell cell;
int colIndex;
for (int i = sheet.getFirstRowNum() + 1; i <= sheet.getLastRowNum(); i++) {
row = sheet.getRow(i); // 获取第i行
// 按顺序循环读取配置好的每一列
for (int y = 0; y < cols.length; y++) {
colIndex = cols[y]; // 存储列的下标
cell = row.getCell(colIndex);
if (cell == null) {
bw.write("null");
} else {
bw.write(cell.toString());
}
if (y == cols.length - 1) {
if (i != sheet.getLastRowNum()) {
bw.newLine();
}
} else {
bw.write("\002");
}
}
}
bw.flush();
bw.close();
wb.close();
}
}