Tôi không thể chỉnh sửa bảng tính excel hiện có bằng cách sử dụng jxl. Nó luôn tạo ra một cái mới. Bất cứ ai có thể vui lòng giúp tôi với nó. Vui lòng cung cấp một mã mẫu nhỏ.Sửa đổi excel hiện có bằng cách sử dụng jxl
Trả lời
jxl được thiết kế để tăng hiệu quả đọc (vì đây là cách sử dụng chính của API). Để cải thiện hiệu suất, dữ liệu liên quan đến thông tin đầu ra (ví dụ: tất cả thông tin định dạng như phông chữ) không được diễn giải khi bảng tính được đọc, vì điều này là thừa khi thẩm vấn các giá trị dữ liệu thô.
Tuy nhiên, nếu chúng ta cần phải sửa đổi bảng tính này, cần xử lý các giao diện ghi khác nhau, có thể lấy bằng cách sử dụng phương pháp sao chép.
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));
WritableWorkbook copy = Workbook.createWorkbook(new File("temp.xls"), workbook);
Thao tác này sẽ sao chép thông tin đã được đọc cũng như thực hiện xử lý bổ sung để giải thích các trường cần thiết để viết bảng tính. Điểm bất lợi của chiến lược đọc tối ưu hóa này là chúng ta có hai bảng tính được lưu trữ trong bộ nhớ chứ không phải chỉ một, do đó tăng gấp đôi yêu cầu bộ nhớ.
Nhưng sau này, bạn có thể làm bất cứ điều gì bạn muốn. Giống như:
WritableSheet sheet2 = copy.getSheet(1);
WritableCell cell = sheet2.getWritableCell(1, 2);
if (cell.getType() == CellType.LABEL)
{
Label l = (Label) cell;
l.setString("modified cell");
}
copy.write();
copy.close();
workbook.close();
Lưu ý: điều này được lấy trực tiếp từ Andy Khan's tutorial page.
Tôi biết rằng đây là một câu hỏi cũ, nhưng nếu ai đó gặp phải vấn đề tương tự, thì hãy giữ nguyên định dạng chính xác (kiểu phông chữ, màu, v.v.) bạn nên lưu định dạng ô trước khi truyền , và sau đó buộc các tế bào để định dạng trước đó. Code:
CellFormat cfm = cell.getCellFormat();
Label l = (Label) cell;
l.setString("modified cell");
cell.setCellFormat(cfm);
//there is god example of it, you can copy in ur project and check it out, to
//understand how it works
Workbook wk = Workbook.getWorkbook(new File("ex.xls"));
//
WritableWorkbook wkr = Workbook.createWorkbook(new File("modifed.xls"), wk);
/* second line makes copy of wk excel file object /creates a readable spreadsheet.
both are now similar and i can Modify exiting wkr spreadsheets */
//next 2 line retrieve sheet number 0 and cell (1,1)
WritableSheet getsht = wkr.getSheet(0);
WritableCell getcl = getsht.getWritableCell(1, 1);
//making own font
WritableFont ft = new WritableFont(WritableFont.ARIAL, 20 , WritableFont.BOLD, true , UnderlineStyle.SINGLE);
//making Format, which uses font
WritableCellFormat form = new WritableCellFormat(ft);
Number nb = (Number) getcl ;
nb.setCellFormat(form);
wkr.write();
wkr.close();
Mặc dù đôi khi chỉ trả lời một câu hỏi với mã, nhưng phần lớn thời gian bài đăng được cải thiện bằng cách thêm giải thích. Bạn có thể chỉnh sửa câu trả lời của bạn để bao gồm một câu trả lời. –
- 1. Chỉnh sửa các tệp excel hiện có bằng cách sử dụng jxl api/Apache POI
- 2. Làm thế nào để sửa đổi tệp excel hiện có bằng cách sử dụng PHP?
- 3. Sửa đổi tệp Excel hiện có bằng cách sử dụng Openpyxl trong Python
- 4. Thêm dữ liệu vào tệp Excel bằng cách sử dụng jxl
- 5. Cách tạo bảng excel với căn chỉnh từ phải sang trái bằng cách sử dụng JXL
- 6. Chuyển đổi ngày Excel bằng cách sử dụng PHP Excel
- 7. JXL và Múi giờ viết một Excel
- 8. Làm cách nào để sửa đổi sổ làm việc Excel hiện có với Perl?
- 9. Thay đổi flushing được thực hiện cho VBProject.VBComponents trong Excel bằng cách sử dụng VBA
- 10. Sửa đổi toàn bộ NSMutableAttributedString bằng cách sử dụng addAttribute:
- 11. In Excel bằng cách sử dụng Interop
- 12. Làm thế nào để xử lý các tệp .xls excel cũ bằng cách sử dụng POI?
- 13. Tạo tệp Excel bằng Java
- 14. cách sử dụng libxml2 để sửa đổi tệp xml hiện có?
- 15. Làm thế nào để có được số sửa đổi từ subversion bằng cách sử dụng maven?
- 16. Có thể sửa đổi kiểu bằng cách sử dụng Cucumber + Capybara không?
- 17. cách chỉnh sửa .htpasswd bằng cách sử dụng php?
- 18. Tạo tệp Excel bằng cách sử dụng vbscripts
- 19. Lưu Bảng tính Excel bằng cách sử dụng Interop C#
- 20. Thực hiện một lệnh trong dấu nhắc lệnh bằng cách sử dụng excel VBA
- 21. Chỉnh sửa tập tin PDF hiện có sử dụng FPDF
- 22. Đọc từ excel bằng cách sử dụng oledbcommand
- 23. Tạo biểu đồ excel bằng cách sử dụng Apache POI
- 24. Đặt thời gian trong Excel bằng cách sử dụng POI
- 25. Sao chép Bảng Excel bằng cách sử dụng Apache POI
- 26. Làm thế nào để chuyển đổi Excel XLS sang CSV bằng cách sử dụng PHP
- 27. Cách sửa đổi tệp XML hiện có bằng XmlDocument và XmlNode trong C#
- 28. Chuyển đổi công thức của ô thành văn bản bằng cách sử dụng excel vba
- 29. Làm thế nào để lưu/ghi đè tệp Excel hiện có bằng Excel Interop - C#
- 30. Excel để DataTable sử dụng EPPlus - excel bị khóa để chỉnh sửa
Hi @Lalli tôi đang sử dụng câu trả lời của bạn, nhưng nó không làm việc Tôi nhận được lỗi trên dòng này 'WritableWorkbook sao chép = Workbook.createWorkbook (new File ("temp.xls"), workbook); ' LRI là' java.io.FileNotFoundException: temp.xls: mở không thành công: EROFS (Hệ thống tệp chỉ đọc) ' –