Bild med JavaScript via C++
Konvertering av arbetsbok till TIFF
En Excel-fil kan innehålla flera blad med flera sidor. WorkbookRender gör att du kan konvertera Excel till TIFF med flera sidor. Du kan också styra flera inställningar för TIFF, som ImageOrPrintOptions.tiffCompression, ImageOrPrintOptions.tiffColorDepth, Upplösning(ImageOrPrintOptions.horizontalResolution, ImageOrPrintOptions.verticalResolution).
Följande kodsnutt visar hur man konverterar Excel till TIFF med flera sidor. Den källa Excel-filen och genererade TIFF-bilden är bifogade för din referens.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Workbook to TIFF (Multiple Pages) Example</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, TiffCompression, WorkbookRender } = 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();
// Instantiate workbook from uploaded file
const wb = new Workbook(new Uint8Array(arrayBuffer));
// Configure image/print options
const imgOptions = new ImageOrPrintOptions();
imgOptions.imageType = ImageType.Tiff;
imgOptions.horizontalResolution = 200;
imgOptions.verticalResolution = 200;
imgOptions.tiffCompression = TiffCompression.CompressionLZW;
// Render workbook to image (TIFF)
const workbookRender = new WorkbookRender(wb, imgOptions);
// Obtain image data (multi-page TIFF)
const outputData = workbookRender.toImage();
const blob = new Blob([outputData], { type: "image/tiff" });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'workbook-to-tiff-with-mulitiple-pages.tiff';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download TIFF File';
document.getElementById('result').innerHTML = '<p style="color: green;">TIFF created successfully! Click the download link to get the file.</p>';
});
</script>
</html>
Konvertera Kalkylblad till Bild
Kalkylblad innehåller data som du vill analysera. Till exempel kan ett kalkylblad innehålla parametrar, totaler, procenttal, undantag och beräkningar.
Som utvecklare kan du behöva visa arbetsblad som bilder. Till exempel kan ett arbetsblad användas som en bild i en applikation eller webbsida. Du kanske vill infoga en bild i ett Microsoft Word-dokument, en PDF-fil, en PowerPoint-presentation eller någon annan dokumenttyp. Kort sagt, du vill att ett arbetsblad ska renderas som en bild så att du kan använda det någon annanstans.
SheetRender ImageOrPrintOptions WorkbookRender
Klassen SheetRender representerar ett arbetsblad som ska renderas som bilder. Den har en överbelastad metod, SheetRender.toImage(number, string), som kan konvertera ett arbetsblad till bildfil(er) med olika attribut eller alternativ. Den returnerar ett Buffer-objekt och du kan spara en bildfil till disk eller streama. Flera bildformat stöds, till exempel BMP, PNG, GIF, JPG, JPEG, TIFF, EMF.
Följande kodsnutt visar hur man konverterar ett kalkylblad i en Excel-fil till en bildfil.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Convert Worksheet To Images By Page</title>
</head>
<body>
<h1>Convert Worksheet To Images By Page</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, SheetRender, ImageType, Utils } = 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');
const resultDiv = document.getElementById('result');
resultDiv.innerHTML = '';
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiating a Workbook object from the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Accessing the first worksheet in the Excel file
const sheet = workbook.worksheets.get(0);
// Preparing image/print options
const options = new ImageOrPrintOptions();
options.horizontalResolution = 200;
options.verticalResolution = 200;
options.imageType = ImageType.Tiff;
// Sheet to Image By Page conversion
const sr = new SheetRender(sheet, options);
const pageCount = sr.pageCount;
if (pageCount === 0) {
resultDiv.innerHTML = '<p style="color: red;">No pages found to render.</p>';
return;
}
const linksContainer = document.createElement('div');
linksContainer.innerHTML = '<p style="color: green;">Conversion completed. Download the generated images below:</p>';
for (let j = 0; j < pageCount; j++)
{
// sr.toImage(pageIndex) returns image bytes in browser build
const imageData = sr.toImage(j);
const blob = new Blob([imageData], { type: 'image/tiff' });
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = "outputConvertWorksheetToImageByPage_" + (j + 1) + ".tif";
link.textContent = "Download Image Page " + (j + 1);
link.style.display = 'block';
linksContainer.appendChild(link);
}
resultDiv.appendChild(linksContainer);
});
</script>
</html>
Konvertera Kalkylblad till SVG
SVG står för Skalbara Vektorgrafik. SVG är en specifikation baserad på XML-standarder för tvådimensionell vektorgrafik. Det är en öppen standard som har varit under utveckling av World Wide Web Consortium (W3C) sedan 1999.
Aspose.Cells for JavaScript via C++ har kunnat konvertera arbetsblad till SVG-bild sedan version 7.1.0. Följande kodsnutt visar hur man konverterar ett arbetsblad i en Excel-fil till en SVG-bildfil.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Convert Worksheet to SVG Example</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, SaveFormat, SheetType } = 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 () => {
// Instantiate a workbook
const workbook = new Workbook();
// Put sample text in the first cell of the first worksheet in the newly created workbook
workbook.worksheets.get(0).cells.get("A1").putValue("DEMO TEXT ON SHEET1");
// Add second worksheet in the workbook
workbook.worksheets.add(SheetType.Worksheet);
// Set text in the first cell of the second sheet
workbook.worksheets.get(1).cells.get("A1").putValue("DEMO TEXT ON SHEET2");
// Set currently active sheet index to 1 i.e. Sheet2
workbook.worksheets.activeSheetIndex = 1;
// Save workbook to SVG. It shall render the active sheet only to SVG
const outputData = workbook.save(SaveFormat.Svg);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'ConvertWorksheetToSVG_out.svg';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download SVG File';
document.getElementById('result').innerHTML = '<p style="color: green;">SVG generated successfully! Click the download link to get the file.</p>';
});
</script>
</html>