Bạn có thể tạo một tập tin XLS từ một mẫu XLS.
Nhưng, để thực hiện việc này, bạn cần tạo bản sao của mẫu mỗi lần bạn cần sử dụng mẫu. Nếu không, bạn sẽ chỉnh sửa mẫu gốc (những gì bạn không muốn).
Vì vậy, bạn cần đầu tiên lấy mẫu tập tin của bạn:
URL url = Thread.currentThread().getContextClassLoader().getResource("templates/template.xls");
File file = new File(url.getPath());
Sao chép tập tin mẫu:
try (FileOutputStream fileOutputStream = new FileOutputStream("/home/jake/fileCopiedFromTemplate.xls")) {
Files.copy(file.toPath(), fileOutputStream);
Workbook workbook = new HSSFWorkbook();
workbook.write(fileOutputStream);
}
truy cập các tập tin sao chép mới:
FileInputStream inp = new FileInputStream("/home/jake/fileCopiedFromTemplate.xls");
Tạo một Workbook
, để bạn có thể viết vào tệp mới của mình:
Workbook workbook = WorkbookFactory.create(inp);
Sau khi ghi trong bảng tính của bạn:
try (FileOutputStream fileOut = new FileOutputStream("/home/jake/fileCopiedFromTemplate.xls")) {
workbook.write(fileOut);
}
Một mẹo để tạo ra một XLS file mẫu là đánh dấu các mẫu với một số biến cho bạn khoanh vùng vị trí mà bạn muốn để điền vào.Giống như:
------------------------------------
| | Columna A | Column B |
------------------------------------
| 1 | Some description |
------------------------------------
| 2 | {person.name} | {person.age} |
------------------------------------
tôi đã cố gắng như vậy để tải macro với poi 3.13 và 3.15 nhưng nó không hiệu quả với tôi. Ý tôi là sau khi lưu tập tin, các macro bị thiếu. Bạn còn ý kiến nào không? –