精华内容
下载资源
问答
  • 一图胜千言,相信很多开发者都没有绕开过图表制作这个坑,在小程序中也是,当然可以用第三方echart等制图插件来做,但小程序要求代码量最大12M,还得分好几个包,一个echart插件就将近1M,要是只做一张表或几张表...

    一图胜千言,相信很多开发者都没有绕开过图表制作这个坑,在小程序中也是,当然可以用第三方echart等制图插件来做,但小程序要求代码量最大12M,还得分好几个包,一个echart插件就将近1M,要是只做一张表或几张表实在浪费,况且小程序的加载速度与程序包大小也是息息相关的。因此写这系列文章,目的是降低程序包大小,又能实现需要的图表。

    先来实现一个最简单的表格制作

    做过小程序的可能都会用到“小程序数据助手”这款小程序,是官方提供用来查看小程序数据的,其中有这样一个表格如下:
    在这里插入图片描述

    我的实现效果

    在这里插入图片描述

    体验路径

    在这里插入图片描述

    实现思路:

    其实就是一个横向的scrollview;
    另外还有一个点击效果,点击后表格内容显示全部,再点击则收缩起来,这个控制item的宽度及text样式就好了

    代码如下:

    js

    Page({
      data: {
        contentList: [["序号", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], ["姓名", "孙达", "任二", "张三", "李四", "王五", "赵柳", "冯琦", "楚芭", "高酒", "朱诗怡", "罗世尔", "牛食三", "钟世思"], ["姓别", "男", "男", "男", "男", "男", "女", "女", "女", "男", "女", "女", "女", "男"], ["地址", "河北省邯郸市复兴区", "河北省保定市高碑店区", "北京市丰台区", "北京市朝阳区", "山东省日照市", "河北省邯郸市丛台区", "河北省邯郸市复兴区", "河北省邯郸市肥乡区", "河北省邯郸市永年区", "河北省邯郸市广平县", "河北省邯郸市复兴区", "河北省邯郸市鸡泽县", "北京市朝阳区望京soho塔一C座"]],
        isShowAll:false
      },
    
      showAll(){
        if(this.data.isShowAll){
          this.setData({
            isShowAll:false
          })
        }else{
          this.setData({
            isShowAll:true
          })
        }
      }
    })
    

    wxml

    <view class="container">
      <view class="view-row" style="color:#aaa;font-size:36rpx;margin:30rpx;border-bottom:1rpx solid #aaa;padding:10rpx">图表系列-表格</view>
      <view style="font-size:32rpx;color:#aaa">表格</view>
      <scroll-view scroll-x style="width:90%;white-space: nowrap;margin-top:20px;">
        <block wx:for="{{contentList}}">
          <view class="{{isShowAll?'view-column-all':'view-column'}}" style="">
            <block wx:for="{{item}}" wx:for-index="subIndex" wx:for-item="subItem">
            <view style="width:100%;background:{{subIndex%2==0?'rgb(206, 236, 255)':'white'}};padding:10px 0;border:1px solid white" bindtap="showAll">
              <text class="{{isShowAll?'text-all':'text-shrink'}}" style="width:100%">{{subItem}}</text>
            </view>
            </block>
          </view>
        </block>
      </scroll-view>
    </view>
    

    wxss

    .container {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-direction: column;
    }
    
    .text-shrink {
      font-size: 16px;
      display: block;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      text-align: center;
    }
    .text-all {
      font-size: 16px;
      text-align: center;
    }
    .view-column{
      width:25%;display:inline-block;
    }
    .view-column-all{
      min-width:25%;display:inline-block;
    }
    
    展开全文
  • 《C++ GUI Qt4编程》书中电子表格程序Spreadsheet的增强版。主要修改如下: 1. 将SDI改为MDI 2. 增加Undo和Redo功能(Command设计模式实现) 3. 自动修正公式(复制公式到新的位置时,根据新位置修正公式) 4. 其他...
  • Pyspread是一种非传统电子表格应用程序,它基于Python编程语言并用Python编写。 pyspread的目标是成为最pythonic的电子表格。 Pyspread期望在网格单元中使用Python表达式,这使得电子表格专用语言已过时。 每个...
  • 好用的EXCEL文件合并的小程序,打开软件,选择excel文件,就可以自动合并
  • 微信(钉钉)小程序上实现 表格

    千次阅读 2019-03-07 09:18:04
    微信小程序不支持 table 标签,在网上找到一个使用 flex 来实现表格的简明例子,记录一下。 table.wxml &lt;view class="table"&gt; &lt;view class="tr bg-w"&gt...

    微信小程序不支持 table 标签,在网上找到一个使用 flex 来实现表格的简明例子,记录一下。

    table.wxml

     
    1. <view class="table">

    2. <view class="tr bg-w">

    3. <view class="th">head1</view>

    4. <view class="th">head2</view>

    5. <view class="th ">head3</view>

    6. </view>

    7. <block wx:for="{{listData}}" wx:key="{{code}}">

    8. <view class="tr bg-g" wx:if="{{index % 2 == 0}}">

    9. <view class="td">{{item.code}}</view>

    10. <view class="td">{{item.text}}</view>

    11. <view class="td">{{item.type}}</view>

    12. </view>

    13. <view class="tr" wx:else>

    14. <view class="td">{{item.code}}</view>

    15. <view class="td">{{item.text}}</view>

    16. <view class="td">{{item.type}}</view>

    17. </view>

    18. </block>

    19. </view>

    table.wxss

     
    1. .table {

    2. border: 0px solid darkgray;

    3. }

    4. .tr {

    5. display: flex;

    6. width: 100%;

    7. justify-content: center;

    8. height: 3rem;

    9. align-items: center;

    10. }

    11. .td {

    12. width:40%;

    13. justify-content: center;

    14. text-align: center;

    15. }

    16. .bg-w{

    17. background: snow;

    18. }

    19. .bg-g{

    20. background: #E6F3F9;

    21. }

    22. .th {

    23. width: 40%;

    24. justify-content: center;

    25. background: #3366FF;

    26. color: #fff;

    27. display: flex;

    28. height: 3rem;

    29. align-items: center;

    30. }

    table.js

     
    1. Page({

    2. data: {

    3. listData:[

    4. {"code":"01","text":"text1","type":"type1"},

    5. {"code":"02","text":"text2","type":"type2"},

    6. {"code":"03","text":"text3","type":"type3"},

    7. {"code":"04","text":"text4","type":"type4"},

    8. {"code":"05","text":"text5","type":"type5"},

    9. {"code":"06","text":"text6","type":"type6"},

    10. {"code":"07","text":"text7","type":"type7"}

    11. ]

    12. },

    13. onLoad: function () {

    14. console.log('onLoad')

    15. }

    16. })

    效果图

    钉钉小程序制作表格:  把wx改成a就可以了

     

    展开全文
  • excel对比小程序

    2018-09-18 09:56:10
    这个是一个自己写的excel对比的小程序.需要的话拿,有s
  • 钉钉小程序 - 实现简易表格

    千次阅读 2021-01-25 16:44:15
    导语:钉钉小程序官方没有table,但是业务需要,只能自己写一个简单的table组件了。 一、table组件 1.table.axml <view class="wrap"> <scroll-view scroll-x="{{true}}" class="scroll" scroll-y="{{true...

    导语:钉钉小程序官方没有table,但是业务需要,只能自己写一个简单的table组件了。(flex布局实现)

    一、table组件

    1.table.axml

    <view class="wrap">
      <scroll-view scroll-x="{{true}}" class="scroll" scroll-y="{{true}}">
        <view class="table">
          <view class="theader flex" style="position: {{position}}">
            <view 
              class="th font-weight-bold " 
              a:for="{{labelList}}" 
              key="{{index}}" 
              style="width: {{labelList.length > 4 ? '170rpx' :`${100/labelList.length}%`}}"
            >
              <view class="th-item">
                {{item.label}}
              </view>
            </view>
          </view>
          <view class="tbody flex">
            <block a:if="{{propList.length > 0}}">
              <view 
                a:for="{{propList}}"
                key="{{index}}" 
                class="tr flex"
              >
                <view 
                  class="td"
                  style="width: {{labelList.length > 4 && abelList.length !== 0 ? '170rpx' :`${100/labelList.length}%`}}"
                  a:for="{{labelList}}" 
                  a:for-item="itm" 
                  a:for-index="idx"
                  key="{{idx}}"
                >
                  <view class="td-item">
                    {{item[itm.prop]}}
                  </view>
                </view>
              </view>
            </block>
            <view a:else class="noData">暂无数据</view>
          </view>
          <view class="tfooter" a:if="{{summationData.length > 0}}">
            <view class="tr flex">
              <view 
                class="td" 
                a:for="{{summationData}}" 
                key="{{index}}" 
                style="width: {{summationData.length > 4 ? '170rpx' :`${100/labelList.length}%`}}"
              >
                <view class="td-item">{{item}}</view>
              </view>
            </view>
          </view>
        </view>
      </scroll-view>
    </view>
    
    <!-- 向左滑动查看 -->
    <view class="left-view" a:if="{{labelList.length > 4}}">—— 向左滑动查看 ——</view>
    
    

    2.table.acss

    .wrap {
      margin: 30rpx 20rpx;
      background-color: #fff;
      border-radius: 20rpx;
      box-shadow: 0 5rpx 10rpx rgba(25, 31, 37, .08);
      overflow: hidden;
      border-radius: 0;
    }
    
    .scroll {
      max-height: calc(52vh - 120rpx);
      box-sizing: border-box;
      overflow: auto!important;
    }
    
    .table {
      width: auto;
    }
    
    .theader {
      /* position: sticky; */
      top: 0;
      left: 0;
      width: 100%;
      background-color: rgb(239, 247, 255);
    }
    
    .tbody {
      flex-direction: column;
    }
    
    .th, .td {
      min-width: 25%;
      flex-wrap: nowrap;
      text-align: center;
      box-sizing: border-box;
    }
    
    .th {
      font-size: 28rpx;
    }
    
    .th-item {
      padding: 20rpx 8rpx 16rpx;
      background-color: rgb(239, 247, 255);
    }
    
    .td-item {
      padding: 16rpx 8rpx;
      font-size: 26rpx;
    }
    
    .tr:nth-child(2n) .td {
      background-color: rgb(255, 249, 244, 1);
    }
    
    .tr:nth-child(2n+1) .td {
      background-color: #fff;
    }
    
    .tfooter {
      position: sticky;
      width: 100%;
      bottom: -1px;
    }
    
    .tfooter .td {
      background-color: rgb(245, 247, 250)!important;
    }
    
    .left-view {
      padding-bottom: 30rpx;
      text-align: center;
      font-size: 26rpx;
      color: #999;
    }
    
    /*暂无数据*/
    .noData {
      min-height: 150rpx;
      text-align: center;
      line-height: 150rpx;
      font-size: 28rpx;
      color: #999;
    }
    

    3.table.js

    Component({
      mixins: [],
      data: {},
      props: {
        labelList: [], // 定义表头的数据
        propList:[], // 定义列数据
        summationData: [], // 数据合计
        position: 'sticky', // 固定表头
      },
      didMount() {
      },
      didUpdate() {},
      didUnmount() {},
      methods: {},
    });
    
    二、组件应用

    1.index.axml

    <view>
      <table labelList="{{labelList}}" propList="{{propList}}" summationData="{{summationData}}" />
    </view>
    

    2.index.js

    import { getTickeQuotaTable } from '/src/api/api' // 接口
    
    Page({
      data: {
      	// 定义表头数据及列字段
        labelList: [
          {
            label: '名称',
            prop: 'name'
          },
          {
            label: '数量',
            prop: 'count'
          },
          {
            label: '比例',
            prop: 'ratio'
          }
        ],
        propList: [],  // 列表数据
        summationData: [], // 合计数据
      },
    
      onLoad() {
        this.getTickeQuotaTable()
      },
    
      /**
       * @description 获取列表数据
       * @param {number} type 筛选类型
       */
      async getTickeQuotaTable(type = 0) {
        try {
          dd.showLoading({ content: '加载中...' })
          const res = await getTickeQuotaTable({ type })
          if (res.data.code === 200) {
            dd.hideLoading()
            const propList = res.data.data.list
            let rate = 0
            for (let i = 0; i < propList.length; i++) {
              rate += +propList[i].ratio.split('%')[0] // 计算百分比
            }
            // 结果四舍五入
            rate = `${Math.round(rate)}%`
            // 设置合计数据
            const summationData = ['合计', res.data.data.total, rate]
            this.setData({
              propList,
              summationData,
            })
          } else {
            dd.hideLoading()
            dd.alert({
              content: res.data.msg,
              buttonText: '我知道了',
            })
          }
        } catch (error) {
          console.log(error)
        }
      },
    
    
    三、最终效果

    1.三列数据
    在这里插入图片描述
    2.四列数据(在手机上最多可以完整显示四列)
    在这里插入图片描述

    5.12备注:样式表中,有些公用class忘了添加,补充样式如下:

    .flex {
      display: flex;
      display: -webkit-flex;
    }
    
    .font-weight-bold {
      font-weight: bold;
    }
    
    展开全文
  • SC-IM是基于SC的电子表格程序( 原始作者是James Gosling和Mark Weiser,以及后来由查克·马丁(Chuck Martin)添加了mod。 SC-IM的某些功能 撤销重做。 支持65.536行和702列。 (如果需要,行数可以扩展为1.048....
  • 帮阿雪写的一个自动录入表格小程序

    千次阅读 多人点赞 2020-03-05 22:38:59
    上大学的时候,总是会由很多表格需要同学们去搞,尤其是刚开学的那个时候,显然是很烦躁, 阿雪刚开学的时候,作为班干部,表示有时候刚录表不是很熟悉经常会弄到很晚,甚至还会弄错,...这就让我很是触动,所以想帮...

    ## 帮阿雪写的一个小程序
    ---------------------------------------------------------------------------------------------------
    上大学的时候,总是会由很多表格需要同学们去搞,尤其是刚开学的那个时候,显然是很烦躁,
    阿雪刚开学的时候,作为班干部,表示有时候刚录表不是很熟悉经常会弄到很晚,甚至还会弄错,
    这就让我很是触动,所以想帮她搞一搞,顺便增强一下我们的友谊/hhhhhh

    ---------------------------------------------------------------------------------------------------

    思路:

    第一步: 信息还是要填的,以往是同学们发给班委,然后慢慢来搞,但现在不一样的,我要求同学们把他们要填的信息写在记事本里面,内容之间用中文逗号隔开,然后在发给我就行。

    第二步: 阿雪只要做的事情是把每个小朋友发的txt文本点击下载就行了,这个显然很简单的事情。

    第三步: QQ个人接受的文件一般都会在 (FileRecv)这个文件夹内,每个朋友QQ存放的位置不一样我这里就不详细说明了,我自己存放的位置是:(r’D://qq//qq文档//‘我的qq号’/FileRecv//) 我们把这个路径就姑且叫做qq_path吧!这个路径我们需要事先写入代码内,我这里定义的函数是copy_file()内:具体思想对了就行。

    第四步: 整个程序没啥操作难度,根据提示填入指令就行,都是批量处理,函数中我设置了时间间隔,我个人感觉这样能让程序有个停顿感,更友好一点吧。

    函数库:

    1. os库: 用于创建文件夹,修改路径,确定路径,文件遍历等操作
    2. csv库: 用于表格的录入
    3. time库: 用于程序停顿感
    4. pandas库: 用于csv和xlsx格式之间的转换
    5. shutil库: 用于文件的复制

    复制函数:把qq接受的文件全部转移到我们指定的位置便于操作

    def copy_file():  # 将qq地址下的文本文件转移到文本存放处待用
        qq_path = r'D://qq//qq文档//qq//FileRecv//'  # 文本在qq的位置
        for filename in os.listdir(qq_path):
            txt_path = os.path.join(qq_path, filename)  # 拼接这二个地址 进行判断
            if txt_path[-4:] == '.txt':
                if txt_path[-5:-4] in [str(i) for i in range(10)]:
                    # 取后缀判断 取学号判断 是否是我们需要的txt
                    shutil.copy(txt_path, patht)  # 进行复制
                    os.remove(txt_path)  # 删除在qq地址的文件 避免下次录入 文本过多
                elif txt_path[-6:-4] in [str(i) for i in range(10, 66)]: # 班级人数个人设定
                    shutil.copy(txt_path, patht)  # 进行复制
                    os.remove(txt_path)  # 删除在qq地址的文件 避免下次录入 文本过多
    
        return qq_path
    
    

    信息的录入:遍历文件夹,逐一读入文本,将得到的信息放入列表

    def luru():
        # 把文本以学号保存 文本里面信息用中文逗号分隔
        qq_path = copy_file()  # 复制文本到patht
        listss = []  # 录入信息列表
        filenamepath = []  # 文件名称地址
        pathtxt = r'D://测试文件//文本存放处//'
        for filename in os.listdir(pathtxt):  # 遍历文本存放处所有的文件
            filenamepath.append(os.path.join(pathtxt, filename))
        print("当前目录{}存放着{}个文件:".format(pathtxt, len(filenamepath)))
        if len(filenamepath) == 0:
            print('请确保文件正确存放在{}处:'.format(qq_path))
        for i in range(len(filenamepath)):  # 遍历这个列表  获得绝对地址
            with open(filenamepath[i], "r", encoding='utf-8') as fo:
                for j in fo:
                    listss.append(j.split(','))
    
        return listss
    
    

    在这里我加了一个小判断,如果录入文本信息为0,那么可能qq接受信息地址没有填对,路径没有很好的确定,导致这个bug

    表格的录入:这个就很简单了,利用os库和csv库

    def wubiaotou():
        name = input("重命名该表格名称:")
        with open(pathb + name + ".csv", "a+", newline='') as fo:
            num = input("请输入表头,并用中文逗号分隔开:")
            headers = num.split(",")
            # headers = ["国籍","民族","省份"]
            fr_csv = csv.writer(fo)
            fr_csv.writerow(headers)
            fr_csv.writerows(lists)
    
        pathnamew = pathb + name + '.csv'
        time.sleep(0.5)
        successful(pathnamew)
        time.sleep(2)
        demo()
    
    

    删除功能:象征性的写了一下,为了把功能完善一点。

    def del_s(path_, fg):
        os.chdir(path_)  # 进入path_存放处地址
        biaonumber = len(os.listdir(path_))
        print("当前目录下{}存在{}个文件:".format(path_, biaonumber))
        if biaonumber == 0:
            print("无需删除,当前目录下存在{}个文件".format(biaonumber))
        else:
            delnum = input("请输入要删除的文件名称,并用中文逗号隔开,若输入all则全部删除:").split(",")
            if delnum[0] == 'all':  # 当索引第一个为all则删除全部
                for filename in os.listdir(path_):  # 遍历这个文件夹
                    os.remove(os.path.join(path_, filename))
                time.sleep(0.5)
                print("已经删除{}目录下所有文件!".format(path_))
            else:  # 删除输入的表格名称
                for i in range(len(delnum)):
                    fn = str(delnum[i]) + fg
                    os.remove(os.path.join(path_ + fn))
                time.sleep(0.5)
                print("已经删除{}目录下{}个文件!".format(path_, len(delnum)))
        time.sleep(2)
        demo()
    
    
    

    整个代码不是很难理解,仔细看看应该都能明白,相信你们,奥力给,干了兄弟们!

    全部代码如下:

    # -*- coding :  utf-8 -*-
    # @Time      :  2020/3/2  18:38
    # @author    :  沙漏在下雨
    # @Software  :  PyCharm
    import os
    import csv
    import time
    import pandas as pd
    import shutil
    
    path = r'D://测试文件//'
    if not os.path.exists(path):  # 创建这个存放文件的大目录
        os.mkdir(path)
    
    patht = path + "文本存放处//"
    if not os.path.exists(patht):  # 创建这个存放文本的文件夹
        os.mkdir(patht)
    
    pathb = path + "表格存放处//"
    if not os.path.exists(pathb):  # 创建这个存放表格的文件夹
        os.mkdir(pathb)
    
    
    def copy_file():  # 将qq地址下的文本文件转移到文本存放处待用
        qq_path = r'D://qq//qq文档//qq//FileRecv//'  # 文本在qq的位置
        for filename in os.listdir(qq_path):
            txt_path = os.path.join(qq_path, filename)  # 拼接这二个地址 进行判断
            if txt_path[-4:] == '.txt':
                if txt_path[-5:-4] in [str(i) for i in range(10)]:
                    # 取后缀判断 取学号判断 是否是我们需要的txt
                    shutil.copy(txt_path, patht)  # 进行复制
                    os.remove(txt_path)  # 删除在qq地址的文件 避免下次录入 文本过多
                elif txt_path[-6:-4] in [str(i) for i in range(10, 66)]:
                    shutil.copy(txt_path, patht)  # 进行复制
                    os.remove(txt_path)  # 删除在qq地址的文件 避免下次录入 文本过多
    
        return qq_path
    
    
    def luru():
        # 把文本以学号保存 文本里面信息用中文逗号分隔
        qq_path = copy_file()  # 复制文本到patht
        listss = []  # 录入信息列表
        filenamepath = []  # 文件名称地址
        pathtxt = r'D://测试文件//文本存放处//'
        for filename in os.listdir(pathtxt):  # 遍历文本存放处所有的文件
            filenamepath.append(os.path.join(pathtxt, filename))
        print("当前目录{}存放着{}个文件:".format(pathtxt, len(filenamepath)))
        if len(filenamepath) == 0:
            print('请确保文件正确存放在{}处:'.format(qq_path))
        for i in range(len(filenamepath)):  # 遍历这个列表  获得绝对地址
            with open(filenamepath[i], "r", encoding='utf-8') as fo:
                for j in fo:
                    listss.append(j.split(','))
    
        return listss
    
    
    lists = luru()
    
    
    def youbiaotou():
        print("请将带有表头的表格事先放入{}处待用:".format(pathb))
        names = input("请输入该表格名称:")
        pathnamey = pathb + names + ".xlsx"  # 获得原xlsx的地址
        # 使用pandas 讲 xlsx 转换为 csv 格式 便于后续操作
        date_xlsx = pd.read_excel(pathnamey, index_col=0)
        pathnamec = pathb + names + '.csv'
        date_xlsx.to_csv(pathnamec, encoding='utf_8_sig')  # 防止转换时候编码错误
        with open(pathnamec, "a+", encoding='utf-8', newline='') as fo:
            fw_csv = csv.writer(fo)
            fw_csv.writerows(lists)  # 写入多行
        time.sleep(0.5)
        successful(pathnamec)
        time.sleep(2)
        demo()
    
    
    def successful(pathname):  # 录入成功标识
        print("表格制作成功!".center(38, '-'))
        print("表格位置:{}".format(pathname))
        print("--" * 22)
    
    
    def wubiaotou():
        name = input("重命名该表格名称:")
        with open(pathb + name + ".csv", "a+", newline='') as fo:
            num = input("请输入表头,并用中文逗号分隔开:")
            headers = num.split(",")
            # headers = ["国籍","民族","省份"]
            fr_csv = csv.writer(fo)
            fr_csv.writerow(headers)
            fr_csv.writerows(lists)
    
        pathnamew = pathb + name + '.csv'
        time.sleep(0.5)
        successful(pathnamew)
        time.sleep(2)
        demo()
    
    
    def helpss():  # 帮助信息
        helptxt = ('说明:\t该程序主要作用是实现简单的自动录入表格功能\n\n'
                   '格式:\t文本信息写入记事本并用中文逗号将内容隔开,命名规则为学生学号\n\n'
                   '操作:\t只需要事先获得本台机器腾讯QQ文件保存地址即(FileRecv地址)'
                   '将其事先写入代码内\n\n'
                   '备注:\t程序自动将文本打包放入文本存放处(具体位置:{0})进行后续操作\n\n'
                   '\t若调用模块有表头录入功能,请事先将待用表格放入({1})处待用\n\n'
                   '\t最后表格将放入表格存放处(具体位置:{2})进行查看\n\n'
                   '\t同时程序功能还实现了批量删除文本和表格功能供给选择\n\n'
                   '\t若存在相同名称表格的不同格式'
                   '则优先删除(.csv)格式的表格\n\n'.format(patht, pathb, pathb))
        with open(path + '帮助信息.txt', "w", encoding='utf-8') as fo:
            fo.write(helptxt)
        if os.path.exists(path + '帮助信息.txt'):
            # newname = '帮助信息.txt'
            # os.rename(path+'helptxt.txt',path+newname)
            os.system(path + '帮助信息.txt')
    
        demo()
    
    
    def del_s(path_, fg):
        os.chdir(path_)  # 进入path_存放处地址
        biaonumber = len(os.listdir(path_))
        print("当前目录下{}存在{}个文件:".format(path_, biaonumber))
        if biaonumber == 0:
            print("无需删除,当前目录下存在{}个文件".format(biaonumber))
        else:
            delnum = input("请输入要删除的文件名称,并用中文逗号隔开,若输入all则全部删除:").split(",")
            if delnum[0] == 'all':  # 当索引第一个为all则删除全部
                for filename in os.listdir(path_):  # 遍历这个文件夹
                    os.remove(os.path.join(path_, filename))
                time.sleep(0.5)
                print("已经删除{}目录下所有文件!".format(path_))
            else:  # 删除输入的表格名称
                for i in range(len(delnum)):
                    fn = str(delnum[i]) + fg
                    os.remove(os.path.join(path_ + fn))
                time.sleep(0.5)
                print("已经删除{}目录下{}个文件!".format(path_, len(delnum)))
        time.sleep(2)
        demo()
    
    
    def demo():  # 目录因素
        fix = '-' * 44
        title = '文本录入表格系统'.center(38, '-')
        helps = '使用说明请输入数值 1'.center(40, ' ')
        fit1 = '模板无表头请输数值 2'.center(40, ' ')
        fit2 = '模板有表头请输数值 3'.center(40, ' ')
        del1 = '删除文本请输入数值 4'.center(40, ' ')
        del2 = '删除表格请输入数值 5'.center(40, ' ')
        fix = '-' * 44
        c = ['fix', 'title', 'helps', 'fit1', 'fit2', 'del1', 'del2', 'fix']
        for i in c:
            print('{}'.format(eval(i)))
        control = input("请输入你的数值:")
        if control == '1':
            helpss()
        elif control == '2':
            wubiaotou()
        elif control == '3':
            youbiaotou()
        elif control == '4':
            fg = '.txt'
            del_s(patht, fg)
        elif control == '5':
            fg = '.csv'
            del_s(pathb, fg)
        else:
            print("输入选项错误!")
    
    
    demo()
    
    
    展开全文
  • Excel克隆 家庭增长电子表格应用程序只是出于娱乐目的。 当前仅调整列/行的大小,生成列算法,选择行/列/单元格。
  • 志诚决算是一个小巧的,EXCEL扩展程序,可以让你的EXCEL操作更简单更高效,它他可实现多套报表的统一汇总,可以抽取其中相同的表格汇总,可以抽取各单位上报的报表中的某一数据单独成一个文件,非常好用。
  • 使用此程序,您可以在 Excel 工作表中编辑简单的内容,例如: 粗体、字体大小、边框、字体 在命令提示符中写入>> params.Bold = 1;params.FontName = 'Arial';params.FontSize = 10;params.ColorIndex = 56;params....
  • 使用 Apache Flex 的电子表格 Web 应用程序 带有高级电子表格网格组件的 Adob​​e/Apache Flex 应用程序 网格组件支持 调整列、行的大小 单元格格式 公式评估 单元格引用 编辑操作(复制、剪切、粘贴、多单元格...
  • mtCellEdit是一个轻量级电子表格程序,旨在处理简单的日常任务。 我已经将我想要的最重要的功能放入一个的自定义程序中,这意味着我可以避免较大程序的问题,例如运行速度慢和用户界面过于复杂。
  • python怎么写表格程序 今天,我开放源代码“ Grid studio ”,这是一个基于Web的电子表格应用程序,具有Python编程语言的完全集成 。 大约一年前,我开始尝试构建我一直想要的数据科学IDE的想法。 与Microsoft ...
  • wxml<view class="table"> <view class="tr bg-w"> <view class="th">SPB</view> <view class="th">DPB</view> <view class="th ">日期<...
  • 现在不推荐使用此工具,而推荐使用新网站
  • 地址切换:未注册用户首次进入小程序,显示特定的网点首页给用户 商品搜索:用户可通过商品名称对门店商品进行精准搜索。 轮播图:展示广告图。 功能区:展示功能快捷入口 秒杀专区:展示秒杀活动,点击进入具体的秒杀...
  • 使用OpenOffice Calc在线创建和编辑xls和xlsx电子表格OpenOffice Excel在线XLS电子表格是一个扩展,允许创建,编辑和查看xls和xlsx格式的任何Microsoft Excel电子表格。它是一个电子表格处理器。OpenOffice Excel的...
  • 生成excel并下载 有一个需求就是通过微信云数据库导出数据到excel并且下载到本地。首先对这个任务进行分解。 一 通过云数据库读取数据生成excel 在前端页面index.wxml添加按钮,绑定函数cdb2excel ...
  • 发现一个小程序可以制作价目,“街寻”价目小程序,可以通过微信公号号搜索关注“街寻”公众号(jiexun8),开始价目制作,主要功能有:价目后台管理,价目模版展示设置,价目转发与二维码打印。商家可以通打印这个...
  • Jspreadsheet CE v4:JavaScript电子表格 Jexcel CE已重命名为Jspreadsheet CE 是一个轻量级的Vanilla JavaScript插件,用于创建令人惊叹的基于... 使用Jspreadsheet CE JavaScript电子表格创建出色的应用程序。 主要
  • 包括对电子表格得通用处理,小程序,实现容易,便于初学者理解学习
  • 这里是制作电子表格时候所经过的路程,当时只是初学,笔记有部分没有这么深度,只是对书里面一些代码写了个人理解 总结:看了一段日子之后,结合自己学过的.NET,C#,CSS,在VS上开发的经历,发现这些之间都是...
  • 最近有个客户想做下单系统,要求像电脑端一样 ,实现在多维的录入功能,客户主要是人事鞋批发的,要求颜色、尺码对应订购数量,可以计算横向和纵向合计,话不多说,直接上代码。 效果如下: ...
  • HotAccontApps:此存储库包含在Google电子表格中创建的Hot account应用程序所需的资源
  • 这是我为我的合作伙伴创建的一个Android应用程序部件,可从Google Drive电子表格中读取数据,对数据进行一些数学运算,并显示一些值(最近的温度,最低的温度和最高的温度),这些值是由Raspberry编写的Pi钩在...
  • 快速简便的制作电子表格,相信大众选择excel,编今天也整理几款非常不错的mac表格软件带给大家享用,操作简便功能强大的那种,需要的来一起了解啊~快速智能的制作电子表格,除了excel还有这些优秀的软件值得拥有~...
  • 如何在小程序制作表单活动?

    千次阅读 2020-06-06 13:49:28
    比起纸质的表单,电子版表单更加受市场的青睐,尤其是随着越来越多的东西都被赋予了营销属性,不只是只有广告才能够做宣传,比如说表单...信息收集:小程序的表单组件可以帮助您制作各式各样的信息收集表。通过在小程序

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,958
精华内容 17,583
关键字:

怎样制作电子表格小程序