تحميل صورة ويب من عنوان URL إلى ورقة إكسل باستخدام JavaScript عبر C++
Contents
[
Hide
]
تحميل صورة من عنوان URL إلى ورقة عمل إكسل
يوفر Aspose.Cells for JavaScript عبر C++ طريقة بسيطة وسهلة لتحميل الصور من روابط URL إلى أوراق عمل إكسل. يشرح هذا المقال كيفية تنزيل بيانات الصورة إلى تيار ثم إدراجها في ورقة العمل باستخدام API الخاص بـ Aspose.Cells. باستخدام هذه الطريقة، تصبح الصور جزءًا من ملف إكسل ولا يتم تحميلها في كل مرة تُفتح فيها ورقة العمل.
كود عينة
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Insert Web Image</title>
</head>
<body>
<h1>Insert Web Image into Excel</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, 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');
if (!fileInput.files.length) {
// If no file provided, create a new workbook
document.getElementById('result').innerHTML = '<p style="color: orange;">No input workbook selected. A new workbook will be created.</p>';
}
// Create or load workbook
let workbook;
if (fileInput.files.length) {
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
workbook = new Workbook(new Uint8Array(arrayBuffer));
} else {
workbook = new Workbook();
}
// Ensure at least one worksheet exists
if (workbook.worksheets.count === 0) {
workbook.worksheets.add("Sheet1");
}
const worksheet = workbook.worksheets.get(0);
// Download the image from the web
const url = "https://www.aspose.com/Images/aspose-logo.jpg";
const response = await fetch(url);
if (!response.ok) {
document.getElementById('result').innerHTML = `<p style="color: red;">Failed to download image: ${response.status} ${response.statusText}</p>`;
return;
}
const imgArrayBuffer = await response.arrayBuffer();
const imgBytes = new Uint8Array(imgArrayBuffer);
// Insert the image into the worksheet at row 0, column 0
worksheet.pictures.add(0, 0, imgBytes);
// Save the modified workbook and provide a download link
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'webimagebook.out.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Image inserted successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>
قد تكون هناك حالات تريد فيها دائمًا الحصول على الصورة المحدّثة من URL. لتحقيق ذلك، يمكنك اتباع التعليمات الموجودة في مقال إدراج صورة مرتبطة من عنوان ويب. باتباع هذه الطريقة، يتم تحميل الصورة من URL في كل مرة تُفتح فيها ورقة العمل.