\n${html}\n`; const blob = new Blob([full], {type:'text/html'}); const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = 'table.html'; a.click(); URL.revokeObjectURL(a.href); } function handleFile(file) { const reader = new FileReader(); const isExcel = /\.(xlsx|xls|xlsm|ods)$/i.test(file.name); if (isExcel && typeof XLSX !== 'undefined') { reader.onload = e => { try { const wb = XLSX.read(e.target.result, {type:'array'}); const ws = wb.Sheets[wb.SheetNames[0]]; const data = XLSX.utils.sheet_to_json(ws, {header:1, raw:false}); lastRows = data; $('#input').value = data.map(r => r.join('\t')).join('\n'); const msg = t('fileLoaded').replace('{name}', file.name).replace('{rows}', data.length).replace('{cols}', data[0]?data[0].length:0); $('#status-bar').innerHTML = `${msg}`; doConvert(); } catch(err) { $('#status-bar').innerHTML = `Error: ${err.message}`; } }; reader.readAsArrayBuffer(file); } else { reader.onload = e => { $('#input').value = e.target.result; lastRows = null; doConvert(); }; reader.readAsText(file); } } $('#input').addEventListener('input', () => { lastRows = null; doConvert(); }); const dz = $('#dropZone'); dz.textContent = t('dropText'); dz.addEventListener('click', () => $('#fileInput').click()); dz.addEventListener('dragover', e => { e.preventDefault(); dz.classList.add('dragover'); }); dz.addEventListener('dragleave', () => dz.classList.remove('dragover')); dz.addEventListener('drop', e => { e.preventDefault(); dz.classList.remove('dragover'); if (e.dataTransfer.files[0]) handleFile(e.dataTransfer.files[0]); }); $('#toolbar').innerHTML = ` `; $('#styleSelect').value = styleMode; GZ.renderToolPage({ category: 'convert', titleKey: 'toolTitle', descKey: 'toolDesc', howToSteps: ['step1','step2','step3','step4'], related: [ {icon:'📊', href:'/convert/csv-to-html.html', name:'CSV to HTML'}, {icon:'📝', href:'/convert/csv-to-markdown.html', name:'CSV to Markdown'}, {icon:'📋', href:'/convert/excel-to-csv.html', name:'Excel to CSV'}, {icon:'🗂️', href:'/convert/excel-to-json.html', name:'Excel to JSON'}, ] });