要将图片保存到Excel文件中,可以使用JavaScript库如SheetJS(也称为xlsx)和FileSaver.js。以下是一个基本的示例,展示如何将图片嵌入到Excel文件中并保存。
以下是一个简单的示例,展示如何将图片保存到Excel文件中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Save Image to Excel</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.5/xlsx.full.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script>
</head>
<body>
<input type="file" id="imageUpload" accept="image/*">
<button onclick="saveImageToExcel()">Save to Excel</button>
<script>
function saveImageToExcel() {
const fileInput = document.getElementById('imageUpload');
const file = fileInput.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(e) {
const dataURL = e.target.result;
const workbook = XLSX.utils.book_new();
const worksheet = XLSX.utils.aoa_to_sheet([
['Image']
]);
// Add image to the worksheet
const imgId = 'img' + Date.now();
worksheet['!images'] = [{
name: imgId,
base64: dataURL.split(',')[1],
position: {
type: 'twoCellAnchor',
attrs: { editAs: 'oneCell' },
from: { col: 0, row: 1, colOff: 0, rowOff: 0 },
to: { col: 1, row: 2, colOff: 0, rowOff: 0 }
}
}];
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// Generate and save the Excel file
const wbout = XLSX.write(workbook, { bookType: 'xlsx', type: 'binary' });
saveAs(new Blob([s2ab(wbout)], { type: 'application/octet-stream' }), 'image_in_excel.xlsx');
};
reader.readAsDataURL(file);
}
}
function s2ab(s) {
const buf = new ArrayBuffer(s.length);
const view = new Uint8Array(buf);
for (let i = 0; i < s.length; i++) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
</script>
</body>
</html>
FileReader
读取上传的图片文件。XLSX.write
生成Excel文件,并使用FileSaver.js
保存文件。通过这种方式,可以方便地将图片保存到Excel文件中,并且用户可以直接下载使用。
领取专属 10元无门槛券
手把手带您无忧上云