<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="js/jquery.min.js"></script>
<script src="https://cdn.sheetjs.com/xlsx-0.20.2/package/dist/xlsx.mini.min.js"></script>
<script>
/* 导出文档 */
function fileSave() {
const rows = []
$(".grid-item-wrap").each((i, el) => {
var name = $(el).find('.block.title').text().split('\n')[0]
name = name.replace(/Verified/g, '');
var src = $(el).find('.item-img img').attr('src');
if (src && src.indexOf('//') == 0) {
src = 'https:' + src
}
rows.push({
name,
text: $(el).find('.main-text').html(),
star: $(el).find('ul li [data-lx-fill=full]').length,
time: '@' + $(el).find('.block.time').html(),
src,
})
})
const worksheet = XLSX.utils.json_to_sheet(rows);
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "导入自定义评论");
/* fix headers */
XLSX.utils.sheet_add_aoa(worksheet, [["评论人姓名", "评论内容", '评论星星', '时间', '上传图片1', '上传图片2', '上传图片3']], { origin: "A1" });
/* calculate column width */
const max_width = rows.reduce((w, r) => Math.max(w, r.name.length), 10);
worksheet["!cols"] = [{ wch: max_width }];
/* create an XLSX file and try to save to Presidents.xlsx */
XLSX.writeFile(workbook, "评论.xlsx", { compression: true });
}
</script>
</head>
</script>
<body>
<input type="file" name="" id="fileInput" multiple>
<input type="button" onclick="fileSave()" value="保存文件">
<div id="grid" data-sample="false" class="grid-col-6" style="position: relative; height: 9773.42px;">
<div class="grid-item-wrap has-img" style="position: absolute; left: 0px; top: 0px;">
<div data-id="TuONdhftpg" tabindex="0" role="button" class="grid-item clearfix">
<div style="position:relative;" class="item-img box"><img
src="https://images.loox.io/uploads/2023/9/21/yl-1UAX90.jpg"
alt="Rima I. review of JOVS X™ Hair Removal and Skin Care Device image 1 out of 1"
data-img-ratio="1.33" style="background:grey4;" onerror="this.parentElement.removeChild(this)"
onload="this.loaded = true;" class="action"></div>
<div class="main">
<div class="box action">
<div data-verified-notification="data-verified-notification" class="block title">Rima I.<span
style="display: flex; align-items: center; gap: 4px"
class="verified-badge-and-text"><svg viewBox="0 0 24 24" aria-label="Verified purchase"
role="img" class="loox-icon loox-verified-badge"
style="width: 1.2em; height: 1.2em; vertical-align: middle; flex-shrink: 0; undefined;">
<use href="#loox-ic-verified-icon"></use>
</svg><span
style="font-style: normal; font-weight: 400; font-size: 12px; line-height: 18px; white-space: nowrap;">Verified</span></span>
</div>
<div class="clearfix"></div>
<div data-time="1695254400000" class="block time" data-upgraded="true">2023/9/21</div>
<div aria-label="5 / 5 star review" class="block stars">
<ul
style="display: inline-flex; margin: unset; padding: unset; text-indent: unset; list-style-type: none; gap: 2px;">
<li><svg viewBox="0 0 24 24" data-lx-fill="full" aria-label="rating icon full"
role="img" class="loox-icon star"
style="display: block; width: 1em; height: 1em;">
<use href="#looxicons-rating-icon"></use>
</svg></li>
<li><svg viewBox="0 0 24 24" data-lx-fill="full" aria-label="rating icon full"
role="img" class="loox-icon star"
style="display: block; width: 1em; height: 1em;">
<use href="#looxicons-rating-icon"></use>
</svg></li>
<li><svg viewBox="0 0 24 24" data-lx-fill="full" aria-label="rating icon full"
role="img" class="loox-icon star"
style="display: block; width: 1em; height: 1em;">
<use href="#looxicons-rating-icon"></use>
</svg></li>
<li><svg viewBox="0 0 24 24" data-lx-fill="full" aria-label="rating icon full"
role="img" class="loox-icon star"
style="display: block; width: 1em; height: 1em;">
<use href="#looxicons-rating-icon"></use>
</svg></li>
<li><svg viewBox="0 0 24 24" data-lx-fill="full" aria-label="rating icon full"
role="img" class="loox-icon star"
style="display: block; width: 1em; height: 1em;">
<use href="#looxicons-rating-icon"></use>
</svg></li>
</ul>
</div>
<div class="block">
<div class="pre-wrap main-text">Excellent and good quality . I like it and easy used .</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
<script>
/* 导入文档 */
document.getElementById('fileInput').addEventListener('change', function (e) {
const file = e.target.files[0]; // 获取文件引用
if (!file) {
return;
}
if (!file) return
const reader = new FileReader();
reader.readAsBinaryString(file);
reader.onload = function (e) {
const data = e.target.result;
const zzexcel = XLSX.read(data, {
type: 'binary'
});
const result = [];
for (let i = 0; i < zzexcel.SheetNames.length; i++) {
const newData = XLSX.utils.sheet_to_json(zzexcel.Sheets[zzexcel.SheetNames[i]]);
result.push(...newData)
}
console.log(result);
}
});
</script>
</html>