vue导出文本文件


前言

vue将数据写入文本文件并下载。
我们通常用到的功能往往是导出EXCEL文件、PDF文件等,导出普通的文本文件用的很少,但也有可能会在工作中遇到,所以今天分享一个vue前端导出文本文件的方式。


一、安装插件

执行以下命令,安装file-saver插件

npm install file-saver --save

二、使用步骤

1.引入

在<javaScript></javaScript>里面引入,具体位置如图:

import { saveAs, } from 'file-saver'

在这里插入图片描述

2.使用

代码如下(示例):

      this.Base.submit(null, {
        url: 'metadataDatabase/metadataMigrate',
        data: { sourceDatabaseId: this.databaseId, newDatabaseId: this.newDataSourceId, typeList: typeStr, },
      }).then(res => {
        // console.log(res.data.sql)
        if (res.serviceSuccess === true) {
          const file = new File([res.data.sql], '元数据迁移sql.txt', { type: 'text/plain;charset=utf-8', })
          saveAs(file)
          // 关闭模态框并清空数据
          this.handleCancel()
        }
      })

上述代码是,通过axios网络请求查询到数据,并返回结果res
下图是返回结果
在这里插入图片描述
上面代码的功能就是将从后端查询到的SQL数据,以文本文件形式导出。
导出的结果如下图所示:
在这里插入图片描述
其中核心语句是:

const file = new File(['要导出的文本'], '文件名称.txt', { type: 'text/plain;charset=utf-8', })
          saveAs(file)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中要实现导出Excel文本的换行,可以通过在文本内容中添加换行符(`\n`)来实现。 例如,假设我们有一个包含多行文本的数据数组。我们可以使用`map`方法遍历数组,对每个文本进行处理,将每行文本的末尾添加`\n`换行符。 具体代码如下: ``` exportToExcel() { // 假设有一个包含文本的数组 const data = [ { text: '第一行文本' }, { text: '第二行文本' }, { text: '第三行文本' }, ]; // 将每个文本的末尾添加换行符 const textWithLineBreak = data.map(item => item.text + '\n'); // 创建一个CSV格式的字符串 const csvContent = 'data:text/csv;charset=utf-8,' + textWithLineBreak.join(''); // 创建一个链接,并模拟点击下载 const encodedUri = encodeURI(csvContent); const link = document.createElement('a'); link.setAttribute('href', encodedUri); link.setAttribute('download', 'data.csv'); document.body.appendChild(link); link.click(); } ``` 这段代码首先将每个文本的末尾添加了`\n`换行符,并将其保存在`textWithLineBreak`数组中。然后,通过将这个数组使用`join`方法连接成一个CSV格式的字符串。 接下来,代码创建了一个链接,并设置链接的`href`属性为这个CSV字符串的编码URI,设置链接的`download`属性为要导出的Excel文本的文件名(此处为`data.csv`)。 最后,将链接添加到文档中,并模拟点击下载链接,实现Excel文本的导出。 这样,导出的Excel文本中的每行文本就会自动换行显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值