Управление изображениями

Aspose.Cells позволяет разработчикам добавлять изображения в электронные таблицы во время выполнения. Более того, позиционированием этих картинок можно управлять во время выполнения, что более подробно обсуждается в следующих разделах.

В этой статье объясняется, как добавлять изображения и как вставлять изображения, отображающие содержимое определенных ячеек.

Добавление изображений

Добавлять изображения в электронную таблицу очень просто. Требуется всего несколько строк кода: Просто позвоните вДобавлять методКартинки коллекция (инкапсулированная вРабочий лист объект).Добавлятьметод принимает следующие параметры:

  • Индекс верхней левой строки, индекс верхней левой строки.
  • Индекс верхнего левого столбца, индекс верхнего левого столбца.
  • Имя файла изображения, имя файла изображения вместе с путем.
// 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 directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[sheetIndex];
// Adding a picture at the location of a cell whose row and column indices
// Are 5 in the worksheet. It is "F6" cell
worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg");
// Saving the Excel file
workbook.Save(dataDir + "output.xls");

Размещение изображений

Есть два возможных способа управления позиционированием изображений с помощью Aspose.Cells:

  • Пропорциональное позиционирование: определите положение, пропорциональное высоте и ширине строки.
  • Абсолютное позиционирование: укажите точное положение на странице, куда будет вставлено изображение, например, на 40 пикселей левее и на 20 пикселей ниже края ячейки.

Пропорциональное позиционирование

Разработчики могут расположить изображения пропорционально высоте строки и ширине столбца, используяВерхняя дельтаX иВерхняя дельтаY свойстваAspose.Cells.Drawing.Picture объект. АРисунок объект можно получить вКартинкиколлекции, передав ее индекс изображения. В этом примере изображение помещается в ячейку F6.

// 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 directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[sheetIndex];
// Adding a picture at the location of a cell whose row and column indices
// Are 5 in the worksheet. It is "F6" cell
int pictureIndex = worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg");
// Accessing the newly added picture
Aspose.Cells.Drawing.Picture picture = worksheet.Pictures[pictureIndex];
// Positioning the picture proportional to row height and colum width
picture.UpperDeltaX = 200;
picture.UpperDeltaY = 200;
// Saving the Excel file
workbook.Save(dataDir + "book1.out.xls");

Абсолютное позиционирование

Разработчики также могут позиционировать изображения абсолютно, используяОставил иВершина свойстваРисунокобъект. В этом примере изображение помещается в ячейку F6, на 60 пикселей слева и на 10 пикселей сверху ячейки.

// 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);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook object
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.Worksheets[sheetIndex];
// Adding a picture at the location of a cell whose row and column indices
// Are 5 in the worksheet. It is "F6" cell
int pictureIndex = worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg");
// Accessing the newly added picture
Aspose.Cells.Drawing.Picture picture = worksheet.Pictures[pictureIndex];
// Absolute positioning of the picture in unit of pixels
picture.Left = 60;
picture.Top = 10;
// Saving the Excel file
workbook.Save(dataDir + "book1.out.xls");

Вставка изображения на основе ссылки Cell

Aspose.Cells позволяет отображать содержимое ячейки рабочего листа в форме изображения. Вы можете связать изображение с ячейкой, содержащей данные, которые вы хотите отобразить. Поскольку ячейка или диапазон ячеек связаны с графическим объектом, изменения, которые вы вносите в данные в этой ячейке или диапазоне ячеек, автоматически отображаются в графическом объекте.

Добавьте изображение на рабочий лист, вызвав методДобавить изображение методКоллекция форм коллекция (инкапсулированная вРабочий лист объект). Укажите диапазон ячеек с помощьюФормула атрибутРисунокобъект.

// 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);
// Instantiate a new Workbook
Workbook workbook = new Workbook();
// Get the first worksheet's cells collection
Cells cells = workbook.Worksheets[0].Cells;
// Add string values to the cells
cells["A1"].PutValue("A1");
cells["C10"].PutValue("C10");
// Add a blank picture to the D1 cell
Picture pic = workbook.Worksheets[0].Shapes.AddPicture(0, 3, 10, 6, null);
// Specify the formula that refers to the source range of cells
pic.Formula = "A1:C10";
// Update the shapes selected value in the worksheet
workbook.Worksheets[0].Shapes.UpdateSelectedValue();
// Save the Excel file.
workbook.Save(dataDir + "output.out.xls");

Предварительные темы