Доступ к таблице из Cell и добавление значений внутри нее с использованием смещений строк и столбцов
Обычно вы добавляете значения в объект таблицы или списка, используяCell.putValue() метод. Но иногда вам может понадобиться добавить значения в объект таблицы или списка, используя смещения строк и столбцов.
Чтобы получить доступ к таблице или объекту списка из ячейки, используйтеCell.получитьТаблицу() метод. И чтобы добавить значения внутри него, используя смещения строки и столбца, используйтеListObject.putCellValue (смещение строки, смещение столбца, значение) метод.
Пример
Скриншоты, сравнивающие исходный и выходной файлы
На следующем снимке экрана показан исходный файл Excel, используемый внутри кода. Он содержит пустую таблицу и выделяет ячейку D5, которая находится внутри таблицы. Мы получим доступ к этой таблице из ячейки D5, используяCell.получитьТаблицу(), а затем добавьте значения внутри него, используя какCell.putValue() иListObject.putCellValue (смещение строки, смещение столбца, значение) методы.
На следующем снимке экрана показан выходной файл Excel, сгенерированный кодом. Как видите, ячейка D5 имеет значение, а ячейка F6, которая находится по смещению 2,2 в таблице, имеет значение.
Java код для доступа к таблице из ячейки и добавления значений внутри нее с использованием смещений строк и столбцов
Следующий пример кода загружает исходный файл Excel, как показано на снимке экрана выше, добавляет значения в таблицу и создает выходной файл Excel, как показано выше.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(AccessingTablefromCell.class); | |
// Create workbook from source Excel file | |
Workbook workbook = new Workbook(dataDir + "source.xlsx"); | |
// Access first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Access cell D5 which lies inside the table | |
Cell cell = worksheet.getCells().get("D5"); | |
// Put value inside the cell D5 | |
cell.putValue("D5 Data"); | |
// Access the Table from this cell | |
ListObject table = cell.getTable(); | |
// Add some value using Row and Column Offset | |
table.putCellValue(2, 2, "Offset [2,2]"); | |
// Save the workbook | |
workbook.save(dataDir + "output.xlsx"); |