Bekerja dengan Komentar
Bekerja dengan Komentar
Aspose.Cells FOSS for Java lets you add, read, modify, and remove cell komentar (catatan) dalam buku kerja XLSX. Komentar dapat diakses melalui CommentCollection pada lembar kerja dan diwakili sebagai: Comment objek-objek yang berisi teks catatan, nama penulis dan dimensi tampilan.
Overview
Setiap lembar kerja mengungkapkan komentarnya melalui Worksheet.getComments(), yang mengembalikan a CommentCollection.Anda dapat menambahkan komentar dengan alamat ponsel atau melalui indeks baris/kolom, mendapatkan komentar yang ada berdasarkan nama indeks atau sel, dan hapus jika tidak lagi dibutuhkan.
A. Tidak ada Comment menyimpan teks catatan (getNote()/setNote()), penulisnya: (getAuthor()/setAuthor()), posisi jangkarnya (getRow(), getColumn()), dimensi tampilan (getWidth(), getHeight()), dan apakah itu terlihat secara default (isVisible()/setVisible()).
Mengakses Komentar pada Lembar Kerja
Dapatkan kembali CommentCollection dari setiap Worksheet melalui: Worksheet.getComments().Gunakan . CommentCollection.getCount() untuk menentukan jumlah komentar yang hadir. Komentar individu dapat diakses oleh: indeks berbasis nol melalui CommentCollection.get(index) atau dengan nama sel melalui CommentCollection.get(cellName).
Menambahkan Komentar
Penggunaan CommentCollection.add(cellName) atau: CommentCollection.add(row, column) untuk memasukkan komentar baru. Kedua overloads kembali a Comment Setel teks catatan dan penulis pada yang dikembalikan contoh sebelum menyimpan.
// Add a comment to cell B2 and configure it
Comment comment = ws.getComments().add("B2");
comment.setNote("Review this value before submission.");
comment.setAuthor("Analyst");
comment.setVisible(false);
comment.setWidth(180);
comment.setHeight(60);Membaca Komentar Isi
Iterate semua komentar menggunakan hitungan:
CommentCollection comments = ws.getComments();
for (int i = 0; i < comments.getCount(); i++) {
Comment c = comments.get(i);
System.out.printf("Cell [%d,%d] author=%s note=%s%n",
c.getRow(), c.getColumn(), c.getAuthor(), c.getNote());
}Mengubah Komentar yang Sudah Ada
Dapatkan komentar dengan alamat seluler dan memperbarui bidangnya secara langsung:
Comment c = ws.getComments().get("B2");
if (c != null) {
c.setNote("Updated note text.");
c.setVisible(true);
}Menghapus Komentar
Penggunaan CommentCollection.removeAt(index) atau: CommentCollection.removeAt(cellName) untuk menghapus komentar:
ws.getComments().removeAt("B2");Tips dan Praktik Terbaik
- Selalu periksa itu.
CommentCollection.get(cellName)tidak kembalinullsebelum memodifikasi komentar sel mungkin tidak memiliki komentar yang dilampirkan. - Set (set)
Comment.setVisible(false)untuk catatan yang hanya harus muncul pada hover, yang cocok dengan perilaku Excel standar. - Penggunaan
Comment.setWidth()dan (b)Comment.setHeight()(dalam piksel) untuk memastikan kotak catatan cukup besar untuk teks berulang-ulang. - Nama penulis disimpan sebagai string biasa; mereka tidak divalidasi terhadap daftar pengguna buku kerja.
- Komentar bertahan dalam waktu loading/save round-trip melalui XLSX ketika tidak ada modifikasi. dibuat untuk
CommentCollection.
Masalah Umum
| Issue | Cause | Perbaiki |
|---|---|---|
get(cellName) pengembalian null | Tidak ada komentar di alamat itu. | Periksa alamat sel atau iterasi dengan indeks |
| Catatan komentar kosong setelah menyimpan | setNote() Tidak dipanggil sebelum menyimpan | Call setNote() pada yang dikembalikan Comment sebelum menyimpan buku kerja |
| Komentar tidak terlihat di Excel | setVisible(false) telah ditetapkan | Perubahan ke setVisible(true) atau geser ke atas sel di Excel |
FAQ
Bagaimana saya menambahkan komentar pada baris dan kolom tertentu?
Penggunaan CommentCollection.add(row, column), dimana kedua nilai didasarkan pada nol. Indeks ini setara dengan indeks yang sama. add(cellName) dengan sel yang sesuai alamat.
Bisakah saya mengubah penulis komentar yang sudah ada?
Ya, ambil kembali. Comment melalui: get(cellName) dan menelepon. setAuthor(name) dengan string penulis baru.
Bagaimana saya memeriksa apakah komentar saat ini terlihat?
Call Comment.isVisible().Pengembalian true jika kotak komentar selalu ditampilkan; false jika hanya muncul pada hover.
Apakah komentar disimpan saat dikonversi ke format lain?
Komentar dipertahankan pada XLSX round-trip. Perilaku pelestarian untuk format lain tergantung pada dukungan format dalam output target.
Bagaimana saya menghitung komentar di lembar kerja?
Penggunaan Worksheet.getComments().getCount().
Ringkasan Referensi API
Comment
| Method | Jenis pengembalian | Description |
|---|---|---|
getRow() | int | Indeks baris berbasis nol dari sel jangkar. |
getColumn() | int | Indeks kolom berbasis nol dari sel jangkar. |
getNote() | String | Komentar teks. |
setNote(note) | void | Menetapkan teks komentar. |
getAuthor() | String | Nama penulis. |
setAuthor(author) | void | Menetapkan nama penulis. |
isVisible() | boolean | Apakah kotak komentar selalu terlihat. |
setVisible(visible) | void | Menetapkan visibilitas kotak komentar. |
getWidth() | int | Lebar kotak komentar dalam piksel. |
setWidth(width) | void | Menetapkan lebar kotak komentar. |
getHeight() | int | Tinggi kotak komentar dalam piksel. |
setHeight(height) | void | Menetapkan ketinggian kotak komentar. |
CommentCollection
| Method | Jenis pengembalian | Description |
|---|---|---|
getCount() | int | Jumlah komentar pada lembar kerja. |
get(index) | Comment | Mengembalikan komentar pada indeks berbasis nol. |
get(cellName) | Comment | Mengembalikan komentar pada alamat sel yang diberikan. |
add(row, column) | Comment | Menambahkan komentar baru pada posisi baris/kolom. |
add(cellName) | Comment | Menambahkan komentar baru pada alamat ponsel. |
removeAt(index) | void | Menghapus komentar pada indeks berbasis nol. |
removeAt(cellName) | void | Menghapus komentar pada alamat ponsel. |