← 返回所有工具

Excel 转 HTML

将 Excel 工作表转换为 HTML 表格。

将 Excel 文件拖放到此处,或点击选择文件 仅限 Excel 文件(.xlsx)

尚未选择文件。

您的文件已就绪。

下载

使用方法

  1. Choose an .xlsx file.
  2. Click Convert to HTML.
  3. Download the .html file and open it in any browser.

The first row of each sheet is shown as the table header. Old .xls files cannot be read in the browser.

为什么在 Abloom Pdfly 上使用Excel 转 HTML

Excel 转 HTML:常见问题

Excel 转 HTML免费吗?

是的——Abloom Pdfly 的所有工具,包括Excel 转 HTML,都是免费的。无需帐户,输出无水印,无每日限制。

我的文件会被上传到服务器吗?

不会。工作在您自己的设备上、在浏览器内完成。您转换、编辑或阅读的任何内容都不会发送到服务器。

它会改变我的原始文件吗?

绝不会。Excel 转 HTML会创建一个新文件供您下载,您的原始文件保持原样。

它能在我的手机上使用吗?

可以。任何现代浏览器都可以使用——Android、iOS、Windows、macOS 或 Linux——无需安装任何东西。

更多 Abloom Core

\n'; showDownload(new Blob(['\ufeff' + html], { type: 'text/html' }), 'spreadsheet.html', fmt(html.length)); setStatus('Done!', 'ok'); }) .catch(function(e){ setStatus('Failed: ' + (e.message||e), 'err'); }); }); function escXml(s){ return s.replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"'); } function readXlsx(zip){ var shared = []; function getShared(){ var f = zip.file('xl/sharedStrings.xml'); if(!f) return Promise.resolve([]); return f.async('string').then(function(xml){ var re = /([\s\S]*?)<\/si>/g, m; while((m = re.exec(xml)) !== null){ var inner = m[1], t = ''; var tr = /]*>([\s\S]*?)<\/t>/g, tm; while((tm = tr.exec(inner)) !== null) t += tm[1]; shared.push(t.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, "'")); } return shared; }); } function tagText(x, tag){ var mm = x.match(new RegExp('<' + tag + '[^>]*>([\\s\\S]*?)')); return mm ? mm[1] : ''; } function cellVal(inner, t){ if(t === 's'){ var idx = parseInt(tagText(inner, 'v'), 10); return shared[idx] || ''; } if(t === 'inlineStr') return tagText(inner, 't'); return tagText(inner, 'v'); } return getShared().then(function(){ var sheetNames = Object.keys(zip.files).filter(function(n){ return /^xl\/worksheets\/sheet\d+\.xml$/.test(n); }).sort(); if(!sheetNames.length) throw new Error('No worksheets found in this file.'); var chain = Promise.resolve([]); sheetNames.forEach(function(name, si){ chain = chain.then(function(all){ return zip.file(name).async('string').then(function(xml){ var rows = [], re = /]*>([\s\S]*?)<\/row>/g, rm; while((rm = re.exec(xml)) !== null){ var cells = [], cr = /]*)>([\s\S]*?)<\/c>/g, cm; while((cm = cr.exec(rm[1])) !== null){ var tm = cm[1].match(/\st="([^"]*)"/); cells.push(cellVal(cm[2], tm ? tm[1] : null)); } if(cells.length) rows.push(cells); } all.push({ sheet: si + 1, rows: rows }); return all; }); }); }); return chain; }); }