Gestione delle immagini

Aspose.Cells consente agli sviluppatori di aggiungere immagini ai fogli di calcolo in fase di esecuzione. Inoltre, il posizionamento di queste immagini può essere controllato in fase di esecuzione, come discusso più dettagliatamente nelle prossime sezioni.

Questo articolo spiega come aggiungere immagini e come inserire un’immagine che mostri il contenuto di determinate celle.

Aggiunta di immagini

L’aggiunta di immagini a un foglio di calcolo è molto semplice. Bastano poche righe di codice: Basta chiamare ilAggiungere metodo delImmagini raccolta (incapsulata nel fileFoglio di lavoro oggetto). IlAggiungeremetodo accetta i seguenti parametri:

  • Indice della riga in alto a sinistra, l’indice della riga in alto a sinistra.
  • Indice colonna in alto a sinistra, l’indice della colonna in alto a sinistra.
  • Nome file immagine, il nome del file immagine, completo di percorso.
// 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");

Immagini di posizionamento

Esistono due modi possibili per controllare il posizionamento delle immagini utilizzando Aspose.Cells:

  • Posizionamento proporzionale: definire una posizione proporzionale all’altezza e alla larghezza della riga.
  • Posizionamento assoluto: definire la posizione esatta sulla pagina in cui verrà inserita l’immagine, ad esempio 40 pixel a sinistra e 20 pixel sotto il bordo della cella.

Posizionamento proporzionale

Gli sviluppatori possono posizionare le immagini proporzionalmente all’altezza della riga e alla larghezza della colonna utilizzando il formatoUpperDeltaX eUpperDeltaY proprietà delAspose.Cells.Drawing.Picture oggetto. UNImmagine oggetto può essere ottenuto dalImmaginiraccolta passando il relativo indice delle immagini. Questo esempio inserisce un’immagine nella cella 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");

Posizionamento assoluto

Gli sviluppatori possono anche posizionare le immagini in modo assoluto utilizzando il fileSinistra eSuperiore proprietà delImmagineoggetto. Questo esempio posiziona un’immagine nella cella F6, 60 pixel da sinistra e 10 pixel dalla parte superiore della cella.

// 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");

Inserimento di un’immagine basata sul riferimento Cell

Aspose.Cells consente di visualizzare il contenuto di una cella del foglio di lavoro in una forma immagine. È possibile collegare l’immagine alla cella che contiene i dati che si desidera visualizzare. Poiché la cella o l’intervallo di celle è collegato all’oggetto grafico, le modifiche apportate ai dati in tale cella o intervallo di celle vengono visualizzate automaticamente nell’oggetto grafico.

Aggiungi un’immagine al foglio di lavoro chiamando il metodoAggiungi immagine metodo delCollezione Shape raccolta (incapsulata nel fileFoglio di lavoro oggetto). Specificare l’intervallo di celle utilizzando ilFormula attributo delImmagineoggetto.

// 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");

Argomenti avanzati