Множественные комментарии с помощью C++
Комментарии с цепочкой
MS Excel 365 предоставляет возможность добавлять нитевые комментарии. Эти комментарии работают как разговоры и могут использоваться для обсуждений. Теперь комментарии идут с полем Ответа, которое позволяет вести разговоры в нитевом порядке. Старые комментарии в Excel 365 называются Примечаниями. Ниже показано, как выглядят нитевые комментарии, когда они открываются в Excel.
Нитевые комментарии показываются таким образом в старых версиях Excel. Следующие изображения были получены при открытии образцового файла в Excel 2016.
Aspose.Cells также предоставляет возможность управлять нитевыми комментариями.
Добавить нитевые комментарии
Добавить нитевой комментарий с Excel
Чтобы добавить нитевые комментарии в Excel 365, выполните следующие шаги.
- Метод 1
- Нажмите вкладку Обзор
- Нажмите кнопку Новый комментарий
- Это откроет диалог для ввода комментариев в активной ячейке.
- Метод 2
- Щелкните правой кнопкой мыши на ячейке, куда нужно вставить комментарий.
- Нажмите на Новый комментарий.
- Это откроет диалог для ввода комментариев в активной ячейке.
Добавить ветвистый комментарий с помощью Aspose.Cells
Aspose.Cells предоставляет метод Comments.AddThreadedComment для добавления цепочечных комментариев. Метод Comments.AddThreadedComment принимает три параметра.
- Имя ячейки: Имя ячейки, в которую будет вставлен комментарий.
- Текст комментария: Текст комментария.
- ThreadedCommentAuthor: Автор комментария.
Приведенный ниже фрагмент кода демонстрирует использование метода Comments.AddThreadedComment для добавления ветвистого комментария в ячейку A1. Пожалуйста, ознакомьтесь с файлом Excel-результатом, сгенерированным кодом для справки.
Образец кода
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create a new workbook
Workbook workbook;
// Add Author
int authorIndex = workbook.GetWorksheets().GetThreadedCommentAuthors().Add(u"Aspose Test", u"", u"");
ThreadedCommentAuthor author = workbook.GetWorksheets().GetThreadedCommentAuthors().Get(authorIndex);
// Add Threaded Comment
workbook.GetWorksheets().Get(0).GetComments().AddThreadedComment(u"A1", u"Test Threaded Comment", author);
// Save the workbook
workbook.Save(outDir + u"AddThreadedComments_out.xlsx");
std::cout << "Threaded comment added successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Чтение ветвистых комментариев
Чтение ветвистых комментариев с помощью Excel
Для чтения ветвистых комментариев в Excel просто наведите курсор мыши на ячейку с комментариями, чтобы просмотреть комментарии. Просмотр комментариев будет выглядеть так же, как на следующем изображении.
Чтение ветвистых комментариев с использованием Aspose.Cells
Aspose.Cells предоставляет метод Comments.GetThreadedComments для извлечения ветвистых комментариев для указанного столбца. Метод Comments.GetThreadedComments принимает имя столбца в качестве параметра и возвращает ThreadedCommentCollection. Вы можете перебирать ThreadedCommentCollection для просмотра комментариев.
В следующем примере демонстрируется чтение комментариев из столбца A1 путем загрузки образца Excel-файла. Пожалуйста, ознакомьтесь с выводом консоли, сгенерированным кодом для справки.
Образец кода
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace std;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Create workbook
Workbook workbook(srcDir + u"ThreadedCommentsSample.xlsx");
// Access first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Get Threaded Comments
ThreadedCommentCollection threadedComments = worksheet.GetComments().GetThreadedComments(u"A1");
// Iterate through threaded comments
for (int i = 0; i < threadedComments.GetCount(); i++)
{
ThreadedComment comment = threadedComments.Get(i);
cout << "Comment: " << comment.GetNotes().ToUtf8() << endl;
cout << "Author: " << comment.GetAuthor().GetName().ToUtf8() << endl;
}
Aspose::Cells::Cleanup();
return 0;
}
Вывод в консоль
Comment: Test Threaded Comment
Author: Aspose Test
Прочтите дату создания ветвящихся комментариев
Aspose.Cells предоставляет метод Comments.GetThreadedComments для извлечения ветвистых комментариев для указанного столбца. Метод Comments.GetThreadedComments принимает имя столбца в качестве параметра и возвращает ThreadedCommentCollection. Вы можете перебирать ThreadedCommentCollection и использовать свойство ThreadedComment.GetCreatedTime().
В следующем примере демонстрируется чтение времени создания ветвистых комментариев при загрузке образцового файла Excel. Пожалуйста, ознакомьтесь с выводом консоли, сгенерированным кодом для справки.
Образец кода
#include <iostream>
#include <iomanip>
#include <sstream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace std;
int main()
{
Aspose::Cells::Startup();
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
Workbook workbook(srcDir + u"ThreadedCommentsSample.xlsx");
Worksheet worksheet = workbook.GetWorksheets().Get(0);
ThreadedCommentCollection threadedComments = worksheet.GetComments().GetThreadedComments(u"A1");
for (int i = 0; i < threadedComments.GetCount(); i++)
{
ThreadedComment comment = threadedComments.Get(i);
cout << "Comment: " << comment.GetNotes().ToUtf8() << endl;
cout << "Author: " << comment.GetAuthor().GetName().ToUtf8() << endl;
Date createdTime = comment.GetCreatedTime();
ostringstream oss;
oss << setfill('0')
<< setw(4) << createdTime.year << "-"
<< setw(2) << createdTime.month << "-"
<< setw(2) << createdTime.day << " "
<< setw(2) << createdTime.hour << ":"
<< setw(2) << createdTime.minute << ":"
<< setw(2) << createdTime.second;
cout << "Created Time: " << oss.str() << endl;
}
Aspose::Cells::Cleanup();
return 0;
}
Вывод в консоль
Comment: Test Threaded Comment
Author: Aspose Test
Created Time: 5/15/2019 12:46:23 PM
Редактировать ветвящиеся комментарии
Редактировать ветвящийся комментарий с помощью Excel
Чтобы отредактировать ветвистый комментарий в Excel, щелкните ссылку Редактировать в комментарии, как показано на следующем изображении.
Редактирование ветвящегося комментария с использованием Aspose.Cells
Aspose.Cells предоставляет метод Comments.GetThreadedComments для извлечения ветвистых комментариев для указанного столбца. Метод Comments.GetThreadedComments принимает имя столбца в качестве параметра и возвращает ThreadedCommentCollection. Вы можете обновить необходимый комментарий в ThreadedCommentCollection и сохранить книгу.
В следующем примере демонстрируется редактирование первого ветвистого комментария в столбце A1 при загрузке образцового файла Excel. Пожалуйста, ознакомьтесь с файлом Excel вывода, сгенерированным кодом.
Образец кода
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Load the workbook
Workbook workbook(srcDir + u"ThreadedCommentsSample.xlsx");
// Access the first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Get the threaded comment from cell A1
ThreadedComment comment = worksheet.GetComments().GetThreadedComments(u"A1").Get(0);
// Update the comment text
comment.SetNotes(u"Updated Comment");
// Save the workbook
workbook.Save(outDir + u"EditThreadedComments.xlsx");
std::cout << "Threaded comment updated successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Удалить ветвящиеся комментарии
Удалить ветвящиеся комментарии с помощью Excel
Чтобы удалить ветвистые комментарии в Excel, щелкните правой кнопкой мыши на ячейке с комментариями и выберите опцию Удалить комментарий, как показано на следующем изображении.
Удаление ветвящихся комментариев с использованием Aspose.Cells
Aspose.Cells предоставляет метод Comments.RemoveAt для удаления комментариев для указанного столбца. Метод Comments.RemoveAt принимает имя столбца в качестве параметра и удаляет комментарии в этом столбце.
В следующем примере демонстрируется удаление комментариев в столбце A1 при загрузке образцового файла Excel. Пожалуйста, ознакомьтесь с выводным файлом Excel, сгенерированным кодом для справки.
Образец кода
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Load the workbook
Workbook workbook(srcDir + u"ThreadedCommentsSample.xlsx");
// Access first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Get the comments collection
CommentCollection comments = worksheet.GetComments();
// Get the author of the first threaded comment in cell A1
ThreadedCommentAuthor author = worksheet.GetComments().GetThreadedComments(u"A1").Get(0).GetAuthor();
// Remove the comment at cell A1
comments.RemoveAt(u"A1");
// Get the threaded comment authors collection
ThreadedCommentAuthorCollection authors = workbook.GetWorksheets().GetThreadedCommentAuthors();
// Save the workbook
workbook.Save(outDir + u"ThreadedCommentsSample_Out.xlsx");
std::cout << "Threaded comments processed successfully!" << std::endl;
Aspose::Cells::Cleanup();
}