Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este exemplo mostra como trabalhar com imagens usando um Script do Office no Excel.
Cenário
As imagens ajudam com identidade visual, identidade visual e modelos. Elas ajudam a tornar uma pasta de trabalho mais do que apenas uma mesa gigante.
O primeiro exemplo copia uma imagem de uma planilha para outra. Isso pode ser usado para colocar o logotipo da sua empresa na mesma posição em todas as planilhas.
O segundo exemplo copia uma imagem de uma URL. Isso pode ser usado para copiar fotos que um colega armazenou em uma pasta compartilhada para uma pasta de trabalho relacionada. Observe que este exemplo não pode ser adaptado para funcionar com um arquivo de imagem local, pois ele não é compatível com os Scripts do Office.
Configuração: Arquivo Excel de exemplo
Esta pasta de trabalho contém os dados, objetos e formatação esperados pelo script.
Código de exemplo: Copiar uma imagem entre planilhas
Execute o script a seguir na pasta de trabalho de exemplo e experimente o exemplo você mesmo! Abra o Editor de Código acessando Automatizar> a Criação deNovo Script>no Editor de Códigos, substitua o código padrão pelo código de exemplo que você deseja executar e selecione Executar.
/**
* This script transfers an image from one worksheet to another.
*/
function main(workbook: ExcelScript.Workbook)
{
// Get the worksheet with the image on it.
let firstWorksheet = workbook.getWorksheet("FirstSheet");
// Get the first image from the worksheet.
// If a script added the image, you could add a name to make it easier to find.
let image: ExcelScript.Image;
firstWorksheet.getShapes().forEach((shape, index) => {
if (shape.getType() === ExcelScript.ShapeType.image) {
image = shape.getImage();
return;
}
});
// Copy the image to another worksheet.
image.getShape().copyTo("SecondSheet");
}
Código de exemplo: Adicionar uma imagem de uma URL a uma pasta de trabalho
Importante
Este exemplo não funcionará no Power Automate por causa da fetch chamada.
async function main(workbook: ExcelScript.Workbook) {
// Fetch the image from a URL.
const link = "https://raw.githubusercontent.com/OfficeDev/office-scripts-docs/master/docs/images/git-octocat.png";
const response = await fetch(link);
// Store the response as an ArrayBuffer, since it is a raw image file.
const data = await response.arrayBuffer();
// Convert the image data into a base64-encoded string.
const image = convertToBase64(data);
// Add the image to a worksheet.
workbook.getWorksheet("WebSheet").addImage(image);
}
/**
* Converts an ArrayBuffer containing a .png image into a base64-encoded string.
*/
function convertToBase64(input: ArrayBuffer) {
const uInt8Array = new Uint8Array(input);
const count = uInt8Array.length;
// Allocate the necessary space up front.
const charCodeArray = new Array(count) as string[];
// Convert every entry in the array to a character.
for (let i = count; i >= 0; i--) {
charCodeArray[i] = String.fromCharCode(uInt8Array[i]);
}
// Convert the characters to base64.
const base64 = btoa(charCodeArray.join(''));
return base64;
}