Доступ к таблице из ячейки и добавление значений в нее с использованием смещений строк и столбцов
Обычно вы добавляете значения внутри объекта Table или List, используя метод Cell.PutValue(). Но иногда вам может потребоваться добавлять значения внутри объекта Table или List, используя смещения строки и столбца.
Чтобы получить доступ к объекту Table или List из ячейки, используйте метод {0}. Чтобы добавлять значения в него, используя смещения строки и столбца, используйте методы {1} и {2}.
На следующем скриншоте показан исходный файл Excel, используемый в коде. Он содержит пустую таблицу и выделяет ячейку D5, которая находится внутри таблицы. Мы получим доступ к этой таблице из ячейки D5, используя метод Cell.GetTable(), а затем добавим значения в нее, используя методы Cell.PutValue() и ListObject.PutCellValue.
Пример
Снимки экрана сравнивают исходные и выходные файлы
![]() |
---|
На следующем снимке экрана показан созданный код. Как видно, ячейка D5 имеет значение, и ячейка F6, которая находится в смещении 2,2 от таблицы, имеет значение.
![]() |
---|
Код C# для доступа к таблице из ячейки и добавления значений в нее с использованием смещений строки и столбца
Следующий примерный код загружает исходный файл Excel, как показано на снимке экрана выше, добавляет значения в таблицу и создает выходной файл Excel, как показано выше.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create workbook from source Excel file | |
Workbook workbook = new Workbook(dataDir + "source.xlsx"); | |
// Access first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Access cell D5 which lies inside the table | |
Cell cell = worksheet.Cells["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_out.xlsx"); |