小程序数据导出文件

news2024/11/15 21:27:46

小程序josn数据生成excel文件

先从下载传送门将xlsx.mini.min.js拷贝下来,新建xlsx.js文件放入小程序项目文件夹下。

const XLSX = require('./xlsx')//在需要用的页面中引入
// 定义导出 Excel 报表的方法
  exportData() {
    const that = this
    let newData = [{time:2021,value:111},{time:2022,value:222},{time:2023,value:333}]
    // 构建一个表的数据
    let lock = []
    let title = ['时间', '数值']
    lock.push(title)
    that.data.newData.forEach(item => {
      let rowcontent = []
      rowcontent.push(item.time)
      rowcontent.push(item.value)
      lock.push(rowcontent)
    })

    //自定义列宽
    const colWidth = [{
        wch: 10
      },
      {
        wch: 10
      },
    ]

    // XLSX插件使用
    var ws = XLSX.utils.aoa_to_sheet(lock);
    // ws['!cols'] = colWidth
    var wb = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(wb, ws, "xxx数据");
    var fileData = XLSX.write(wb, {
      bookType: "xlsx",
      type: 'base64'
    });
 
    let filePath = `${wx.env.USER_DATA_PATH}/xxxx记录.xlsx`

    // 写文件
    const fs = wx.getFileSystemManager()
    fs.writeFile({
      filePath: filePath,
      data: fileData,
      encoding: 'base64',
      success(res) {
        console.log(res)
        const sysInfo = wx.getSystemInfoSync()
        // 导出
        if (sysInfo.platform.toLowerCase().indexOf('windows') >= 0) {
          // 电脑PC端导出
          wx.saveFileToDisk({
            filePath: filePath,
            success(res) {
              console.log(res)
            },
            fail(res) {
              console.error(res)
              util.tips("导出失败")
            }
          })
        } else {
          // 手机端导出
          // 打开文档
          wx.openDocument({
            filePath: filePath,
            //默认为false,true可在右上角进行分享转发
            showMenu: true,
            success: function (res) {
              console.log('打开文档成功')
            },
            fail: console.error
          })
        }
      },
      fail(res) {
        console.error(res)
        if (res.errMsg.indexOf('locked')) {
          wx.showModal({
            title: '提示',
            content: '文档已打开,请先关闭',
          })
        }

      }
    })
  },`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/947842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全球领先、柔性低功耗?京东方独家供应OPPO折叠屏,首发值得一试

京东方作为全球领先的显示技术创新企业,为OPPO提供的折叠屏手机和智能手表屏幕,拥有先进的技术和优质的显示效果。京东方的柔性折叠低功耗解决方案不仅能够实现屏幕的弯折,还能在折叠状态下保持低功耗,使设备的续航时间得到极大增…

windows10上搭建caffe以及踩到的坑

对动作捕捉的几篇论文感兴趣,想复现一下,需要caffe环境就折腾了下!转模型需要python 2.7环境,我顺便也弄了!!! 1. 环境 Windows10 RTX2080TI 11G Anaconda Python2.7 visual studio 2013 cuda…

第三方软件检测机构有哪些资质,2023年软件测评公司推荐

软件第三方测试报告 伴随着软件行业的蓬勃发展,软件测试也迎来了热潮,但是国内的软件测试行业存在着测试入行门槛低、测试投入少、测试人员专业性不足等问题,这些问题不但会阻碍软件测试行业的良性发展,而且难以保证软件产品的质…

魏副业而战:开学季,闲鱼卖什么好?

我是魏哥,与其躺平,不如魏副业而战! 现在八月底了,意味着暑假结束,新的学期将要开始。 作为闲鱼卖家,可顺势布局一下。 那卖什么好呢? 开学季嘛,卖学习相关的,例如&a…

1.docker打包前后端项目 2.将虚拟机设置为固定ip 3.WARNING: IPv4 forwarding is disabled. Networking will not work

打包后端项目 1.查看防火墙状态 netsh advfirewall show allprofiles 显示防火墙的当前状态和配置信息。您将在输出中看到每个配置文件(公用、专用和域)的状态。 2.关闭防火墙 netsh advfirewall set allprofiles state off 将关闭所有配置文件&#…

胜券汇:底部显现 三大因素有望助推股市短期内探底回升

胜券汇以为,权益商场的底部特征现已开始闪现,估值触底、危险偏好反弹、盈余逐渐修正三大要素有望助推股市短期内探底上升。不过,中长期而言,A股的核心矛盾在于经济复苏的斜率,从当时经济形势看,方针仍有必要…

【C++进阶(三)】STL大法--vector迭代器失效深浅拷贝问题剖析

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 vector-下 1. 前言2. 什么是迭代器失效?3. 迭代…

【Linux】Linux线程的同步与互斥

前言 如果你对进程/线程中通信的相关概念不太了解的话可以先看这里《进程间通信的基础概念》 Linux线程的同步与互斥 一、Linux线程的互斥1、互斥的相关背景2、互斥量的接口3、互斥量实现原理探究 二、可重入与线程安全1、概念2、常见的线程不安全的情况3、常见的线程安全的情况…

【前端】 Layui点击图片实现放大、关闭效果

实现效果&#xff1a;点击图片实现放大&#xff0c;点击空白处关闭效果。下图。 实现逻辑&#xff1a;二维码是使用JQ插件生成的&#xff0c;点击二维码&#xff0c;获取图片路径&#xff0c;通过Layui的弹窗显示放大后的图片。 Html <div id"qrcode" class&quo…

【JAVA基础】数据类型,逻辑控制

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 数据类型整型变量 int长整型变量 long单精度浮点数 float双精度浮点数 double字符类型 char字节…

Mybatis执行getById报错Parameter index out of range

博主使用的Springboot3.0&#xff0c;jdk17&#xff0c;MybatisMybatisFlex的环境 报错&#xff1a; org.mybatis.spring.MyBatisSystemException: null java.lang.RuntimeException: java.sql.SQLException: Parameter index out of range (1 > number of parameters, w…

Android DataBinding 基础入门(学习记录)

目录 一、DataBinding简介二、findViewById 和 DataBinding 原理及优缺点1. findViewById的优缺点2. DataBinding的优缺点 三、Android mvvm 之 databinding 原理1. 简介和三个主要的实体DataViewViewDataBinding 2.三个功能2.1. rebind 行为2.2 observe data 行为2.3 observe …

基于MQTT协议的物联网网关实现远程数据采集及监控

在数字化时代的浪潮中&#xff0c;工业界正面临着前所未有的变革与机遇。而在这场变革中&#xff0c;基于MQTT协议的物联网网关崭露头角&#xff0c;成为连接工业设备、实现远程数据采集与监控的利器。其中&#xff0c;HiWoo Box作为一款出色的工业边缘网关&#xff0c;引领着这…

搜索算法之内容质量评估:如何对作者和文章进行质量评价

paperClubIP属地: 江苏 编辑文章 对于搜索引擎而言&#xff0c;用户算法的核心价值是用户体验&#xff0c;包括搜索内容的相关性、内容质量及时效性等&#xff0c;其中内容质量是前置步骤&#xff0c;既可以用于优质内容源筛选&#xff0c;又可以作为搜索召回结果排序因素&am…

Leetcode.100 相同的树

给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 代码如下&#xff1a;…

【STM32】串口初步使用

本文只作为学习笔记&#xff0c;对串口进行一个简单的介绍&#xff0c;正确的使用方式还需要进行实际的调试 通信的类型&#xff1a; 同步 异步 单工 双工 串行 并行 STM32的串口通信&#xff1a; 配置片上外设的控制寄存器&#xff0c;通信双方进行相同的配置&#xff0c;…

【Vue】集成高德地图

Vue 集成高德地图 步骤 注册成为高德开发者 获取申请的安全密钥、申请好的Web端开发者Key 创建Vue 工程 创建地图组件 引入地图组件 高德地图开发平台地址 https://lbs.amap.com/官方示例地址 https://lbs.amap.com/demo/list/js-api-v2示例 首先创建一个vue工程 安装 npm …

jvm与锁

今天是《面霸的自我修养》的第二弹&#xff0c;内容是Java并发编程中关于Java内存模型&#xff08;Java Memory Model&#xff09;和锁的基础理论相关的问题。这两块内容的八股文倒是不多&#xff0c;但是难度较大&#xff0c;接下来我们就一起一探究竟吧。 数据来源&#xff…

CAC2.0准实时威胁检测,“无人化”防暴力破解

客户背景 上海微盟企业发展有限公司&#xff08;以下简称“微盟”&#xff09;&#xff0c;香港主板上市企业&#xff0c;成立于2013年&#xff0c;致力于为商家打造去中心化的数字化转型SaaS产品及全链路增长服务&#xff0c;助力商家经营可持续增长。 在这个快节奏的网络时…

《发电厂电气部分》进出线停送电倒闸操作理解

在《发电厂电气部分》&#xff08;部分学校也叫《供配电技术》&#xff09;中&#xff0c;停电/送电时的倒闸操作在笔者看来是比较难理解的一件事&#xff0c;即使是在bilibili上看了实际架空线路上的倒闸操作&#xff0c;还是感觉云里雾里。这里分享一下自己的理解。 这里以最…