uniapp纯前端导出表格

想问一下除了插件有没有其他的方法,因为我想临时的用一下,不是长久的格式也没什么要求就读出来的数据导出来就行

还是有一些办法的,我举个例子,望采纳。

  1. 在页面定义表格,比如使用table组件
    html
    <table border="1">
     <tr>
         <th>姓名</th>
         <th>年龄</th>
         <th>地址</th>
     </tr>
     <tr>
         <td>张三</td>
         <td>25</td>
         <td>北京</td>
     </tr>
     <!-- 更多行 -->
    </table> 
    
  2. 获取表格数据,可以在mounted钩子函数中获取表格节点并遍历
    js
    export default {
     mounted() {
         const table = this.$refs.table;
         const rows = table.querySelectorAll('tr');
         const csvData = [];
         rows.forEach(row => {
             const cols = row.querySelectorAll('td');
             const rowData = [];
             cols.forEach(col => {
                 rowData.push(col.innerText);
             }) 
             csvData.push(rowData.join(','));
         })
         // csvData即为表格数据,可以用于导出CSV文件
     }
    }
    
  3. 导出CSV文件。可以使用uni.saveFile将csvData内容保存为CSV文件
    js
    uni.saveFile({
     tempFilePath: `${Date.now()}.csv`,
     complete: (res) => {
         const savedFilePath = res.savedFilePath;
         uni.downloadFile({
             url: savedFilePath,
             success: (res) => {
                 console.log('下载成功');
             } 
         })
     }
    });
    
  4. 给页面添加一个按钮,点击时执行以上代码导出CSV文件。这是一种简单的原生实现方式,无需使用任何第三方组件,直接操作DOM和调用uniapp API实现表格数据导出。此方法虽简单,但DOM操作繁琐,不利于大规模表格,推荐还是使用uView等组件库的表格组件实现更标准统一的解决方案。

可以试一下用xlsx插件
npm i xlsx
具体使用方法可以自己搜一下

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7662814
  • 这篇博客你也可以参考下:uniapp 微信登录取消授权,以及不等待你做出授权选择就执行方法体
  • 除此之外, 这篇博客: 使用uniapp在前端实现支付功能 思路代码均有中的 友情提示一哈,要实现支付 一定要把相关的配置给整好 不然微信支付会一直报错。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 环境配置:
    在manifest.json中 APP SDK 配置中 勾选支付,配好appid
    APP 模块权限中勾选支付。
    最后,制作了一个自定义基座,把自己APP的证书上传。使用自定义基座运行实现了微信支付。

  • 您还可以看一下 耿职老师的uniapp开发仿阿里飞猪旅游微信小程序,vue中高级课程课程中的 Uniapp生成小程序以及要跳过的坑小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    目前纯前端的方式在uniapp中导出表格的方案较为复杂,需要自己编写逻辑,主要分为以下几个步骤: 1. 将表格数据转换成csv格式的文本。 2. 创建一个a标签,将csv文本放入href属性中,并设置download属性为导出的文件名。 3. 触发a标签的click事件,从而下载导出的文件。

    具体实现可以参考以下的代码片段:

    <template>
      <view>
        <!-- 点击导出按钮触发导出事件 -->
        <button @click="exportTable">导出表格</button>
      </view>
    </template>
    
    <script>
    export default {
      methods: {
        // 导出表格
        exportTable() {
          // 将表格数据转换成csv格式的文本
          const tableData = [
            ['姓名', '年龄', '性别'],
            ['张三', '18', '男'],
            ['李四', '20', '女'],
            ['王五', '22', '男']
          ]
          const csvContent = 'data:text/csv;charset=utf-8,' + tableData.map(row => row.join(',')).join('\n')
    
          // 创建一个a标签,将csv文本放入href属性中,并设置download属性为导出的文件名
          const link = document.createElement('a')
          link.href = encodeURI(csvContent)
          link.download = 'table.csv'
    
          // 触发a标签的click事件,从而下载导出的文件
          link.click()
        }
      }
    }
    </script>
    

    需要注意的是,这种方式导出的文件只能是csv格式的文本,样式较为简单,如果需要自定义样式,可以考虑使用第三方插件或者后端生成并返回下载链接的方式。另外,需要注意浏览器的兼容性,部分浏览器可能存在兼容性问题,需要进行测试并做出兼容处理。