file-saver生成excel表直接上传给后台

木鱼硕 2021-01-06 06:34:58
使用
npm install file-saver --save
bower install file-saver
在浏览器上能够把table生成excel表,但是不能下载,生成后直接传给后台,咋来???????

export2Excel() {
let tables = document.getElementById("out-table");
let table_book = this.$XLSX.utils.table_to_book(tables);
var table_write = this.$XLSX.write(table_book, {
bookType: "xlsx",
bookSST: true,
type: "array"
});
try {
let userAgent = navigator.userAgent;
//兼容ie浏览器
if (userAgent.indexOf('Trident') !== -1 && userAgent.indexOf('Windows') !== -1) {
let blob = new Blob([table_write], {type: 'application/octet-stream'});
console.log(blob);
this.$FileSaver.saveAs(blob, "sheetjs.xlsx");
} else { //兼容谷歌 火狐
let file = new File([table_write], "sheetjs.xlsx", {type: "application/octet-stream"});
console.log(file);
this.$FileSaver.saveAs(file);
}
} catch (e) {
if (typeof console !== "undefined") console.log(e, table_write);
}
return table_write;
},
...全文
19010 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
木鱼硕 2021-01-21
  • 打赏
  • 举报
回复
谢啦
路人Enn 2021-01-21
  • 打赏
  • 举报
回复
这里有个生成json并下载的例子,希望能帮到你~

const DownloadBtn = () => {
  function createDownload() {
    const fileBlob = new Blob([JSON.stringify({
      name: 'hello',
      title: 'world'
    })], {
      type: 'application/json;charset=utf-8',
    });
    
    const url = window.URL.createObjectURL(fileBlob)
    const aLink = document.createElement('a')
    aLink.style.display = 'none'
    aLink.href = url
    aLink.setAttribute('download', 'temp.json')
    document.body.appendChild(aLink)
    aLink.click()
    document.body.removeChild(aLink)
    /** 释放掉blob对象 */
    window.URL.revokeObjectURL(url)
  }
  return <button onClick = {() => createDownload()}> 生成并下载文件 </button>
}

function App() {
  return ( 
    <div className = "App" >
      <DownloadBtn />
    </div>
  )
}
本资源是一个基于 JavaScript 实现的前端导出 Excel 文件到本地的完整解决方案,结合了 ExcelJS 和 FileSaver.js 两大主流库,实现了浏览器端数据的高效导出功能。通过该实例,开发者可以轻松将格数据、JSON 对象或其他结构化数据转换为 .xlsx 格式的 Excel 文件,并支持自定义工作名称、列标题、样式设置等基础格式化操作,最终调用 FileSaver 将文件保存至用户本地设备。项目以 ZIP 压缩包形式提供,包含核心代码、依赖引入说明及使用示例,开箱即用,便于集成到现有 Web 应用中。 适用人群: 适用于具备一定 HTML/CSS/JavaScript 基础的前端开发人员,尤其是正在开发数据管理类系统(如后台管理系统、报平台)并需要实现导出功能的开发者。同时也适合希望提升前端文件操作能力的中级学习者。 使用场景及目标: 常见于企业级管理系统(如CRM、ERP)、数据分析看板、订单导出、用户信息批量下载等业务场景。其主要目标是解决“前端无需依赖后端接口即可动态生成标准 Excel 文件”的实际需求,减轻服务器压力,提高响应效率,同时增强用户体验。例如,在一个商品列页中,管理员点击“导出”按钮后,页面自动将当前筛选结果生成 Excel 并触发下载,全过程在客户端完成,安全且高效。 其他说明: 本资源仅供学习研究使用,需自行安装相关依赖(exceljs、file-saver),建议在现代浏览器环境下运行。请注意遵守版权及免责申明,内容由网友分享,仅供个人学习研究使用,使用时需遵守相关版权要求。下载后24小时内完成学习测试,并及时清理删除相关文件,不得用于商业目的或非法传播,否则需自行承担法律责任。

5,007

社区成员

发帖
与我相关
我的任务
社区描述
解读Web 标准、分析和讨论实际问题、推动网络标准化发展和跨浏览器开发进程,解决各种兼容性问题。
社区管理员
  • 跨浏览器开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧