Exportar rango de celdas en una hoja de cálculo a imagen con JavaScript a través de C++
Contents
[
Hide
]
Escenarios de uso posibles
Puedes crear una imagen de una hoja de cálculo usando Aspose.Cells for JavaScript a través de C++. Sin embargo, a veces necesitas exportar solo un rango de celdas en una hoja de cálculo a una imagen. Este artículo explica cómo lograrlo.
Exportar un rango de celdas en una hoja de cálculo a una imagen
Para tomar una imagen de un rango, configure el área de impresión al rango deseado y luego configure todos los márgenes en 0. También configure ImageOrPrintOptions.onePagePerSheet en true. El siguiente código toma una imagen del rango D8:G16. A continuación, una captura de pantalla del archivo de ejemplo de Excel utilizado en el código. Puede probar el código con cualquier archivo de Excel.
Captura de pantalla del archivo de Excel de muestra y su imagen exportada

Al ejecutar el código se crea una imagen del rango D8:G16 solamente.

Código de muestra
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Export Range To Image</title>
</head>
<body>
<h1>Export Range Of Cells In Worksheet To Image</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, ImageOrPrintOptions, ImageType, SheetRender } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Create workbook from uploaded file.
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access the first worksheet
const worksheet = workbook.worksheets.get(0);
// Set the print area with your desired range
worksheet.pageSetup.printArea = "D8:G16";
// Set all margins as 0
worksheet.pageSetup.leftMargin = 0;
worksheet.pageSetup.rightMargin = 0;
worksheet.pageSetup.topMargin = 0;
worksheet.pageSetup.bottomMargin = 0;
// Set OnePagePerSheet option as true and image options
const options = new ImageOrPrintOptions();
options.onePagePerSheet = true;
options.imageType = ImageType.Jpeg;
options.horizontalResolution = 200;
options.verticalResolution = 200;
// Take the image of your worksheet
const sr = new SheetRender(worksheet, options);
const outputData = sr.toImage(0);
const blob = new Blob([outputData], { type: 'image/jpeg' });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'outputExportRangeOfCellsInWorksheetToImage.jpg';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Image';
document.getElementById('result').innerHTML = '<p style="color: green;">Image exported successfully! Click the download link to download the image.</p>';
});
</script>
</html>