精华内容
下载资源
问答
  • 主要介绍了vue实现form表单与table表格数据关联功能,涉及vue.js表单事件响应及页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
  • Excel将两个表格关联数据

    万次阅读 2017-03-06 09:59:48
    Excel将两个表格关联数据合并 有时候我们需要将两个数据表,合并成为一张数据表,根据两张表中,有一个相同定义的列进行合并。 此时,有两个sheet数据表。 数据表1 数据表2 两种表格中都有序列化id这个列,此时...

    Excel将两个表格关联数据合并


              有时候我们需要将两个数据表,合并成为一张数据表,根据两张表中,有一个相同定义的列进行合并。

              此时,有两个sheet数据表。

              数据表1


              数据表2


              两种表格中都有序列化id这个列,此时,需要把表2中的价格列,根据序列号id,添加到表1中。

              首先,在表1中,后面的列添加标题。


              然后,将鼠标定位到数据列的第一列,选择公式菜单,选择插入函数选项。


              弹出插入函数对话框,输入VLOOKUP,然后,转到选择VLOOKUP函数,确定即可。


              第一列选择,数据表2中对应列的第一条数据。


              第二列选择,数据表2对应的同步列。


              第三列,填写2,表示选择了2列的数据。

              第四列,填写0,表示大致匹配,填写完成确认即可。


              此时,确定即可看到第一列的数据,已经同步过来了。


              其他列的数据,把鼠标定位到第一个列的数据单元格的右下角,此时出现一个十字箭头符号,双击即可。


              这种同步方式,当修改数据表2中,对应列的数据时,数据表1也会自动的改变。

              当出现一对多的关系时,就是数据表1中的某个列,在数据表2中有多个对应值,那么,在数据表1中,该列后面的值,将取数据表2中的最后一个匹配关系后面相应的数据,会把前面的覆盖掉。


    展开全文
  • 今天小编就为大家分享一篇layui之数据表格--与后台交互获取数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • layui2.3版本,本身并不带有复选框回显功能,那么需要从源头解决此事,F12代码调试,找到与复选框关联的地方发现: 我们只需要在渲染数据回调时找到每个复选框根据数据的不同来设置回显。 layui这里有一个坑,设置...
  • 固定表头 列宽可调整 单击列头可排序 双击单元格可编辑 可绑定数据源 看下效果吧:HTML – 模板代码: 代码如下: ”test”> ”header”> ’true’> 姓名 </td> ’true’> 性别 </td> ’true’> 年龄 </td> ’true’> ...
  • 来自CSDN-Mr熊 ... 谁能告诉我前面这一堆都是什么...python读取Excel中关联表格数据(只要是同Excel中)---可以解决无限次同一个Excel中跨sheet或同sheet中表格关联-- 1.读取关联表格代码(再import openpyxl库的前提...

    来自CSDN-Mr熊

    https://blog.csdn.net/qq_41030861/article/details/80515984

    谁能告诉我前面这一堆都是什么啊。。。

     

    python读取Excel中关联表格的数据(只要是同Excel中)---可以解决无限次同一个Excel中跨sheet或同sheet中表格关联--

    1.读取关联表格代码(再import openpyxl库的前提下)

    #######################################################
    #coding=utf-8
    import os
    import random
    import string
    import openpyxl
    from openpyxl import *
    from openpyxl.reader.excel import load_workbook
    from openpyxl.compat import range
    from openpyxl.cell.read_only import EMPTY_CELL
    import win32com.client
    from openpyxl import Workbook
    from openpyxl.utils import get_column_letter
    from openpyxl.utils import column_index_from_string
    import sys
    reload(sys)
    sys.setdefaultencoding( "GBK" )
    def Rir_sheet(wb,sheet_name,rc):
        sheet = wb[sheet_name]
        sheetdata = wb[sheet_name]
        url = str(rc)
        chrvalue = ""
        for i in url:
            if "a" <= i and i <= "z" or i >= 'A' and i <= 'Z':
                chrvalue = chrvalue + i
        cellvalue = sheetdata.cell(row=int(url.strip(chrvalue)), column=column_index_from_string(chrvalue)).value.decode(
            'GBK')
        if "!" in cellvalue and cellvalue[0] == "=":
            sheetvalue = cellvalue.split("!")[0].strip("=")
            return Rir_sheet(wb, sheetvalue, cellvalue.split("!")[1])
        elif "!" not in cellvalue and cellvalue[0] == "=":
            return Rir_cell(wb, sheet_name, cellvalue.strip('='))
        else:
            return cellvalue
    def Rir_cell(wb,sheet_name,rc):
        ws=wb[sheet_name]
        url = str(rc)
        chrvalue = ""
        for i in url:
            if "a" <= i and i <= "z" or i >= 'A' and i <= 'Z':
                chrvalue = chrvalue + i
        cellvalue = ws.cell(row=int(url.strip(chrvalue)), column=column_index_from_string(chrvalue)).value.decode('GBK')
        if "!" in cellvalue and cellvalue[0] == "=":
            sheetvalue = cellvalue.split("!")[0].strip("=")
            return Rir_sheet(wb, sheetvalue, cellvalue.split("!")[1])
        elif "!" not in cellvalue and cellvalue[0] == "=":
            return Rir_cell(wb,sheet_name,cellvalue.strip('='))
        else:
            return cellvalue
    if __name__ == '__main__':
        wb = openpyxl.load_workbook(u'C://Users/Administrator//Desktop//测试文档.xlsx')
        print Rir_cell(wb,'Sheet2',"D2")
    #######################################################
    2.实际项目中的代码如下
    #######################################################
    #coding=utf-8
    import os
    import random
    import string
    import openpyxl
    from openpyxl.reader.excel import load_workbook
    from openpyxl.compat import range
    from openpyxl.cell.read_only import EMPTY_CELL
    from openpyxl.utils import column_index_from_string
    import win32com.client
    import sys
    reload(sys)
    sys.setdefaultencoding( "UTF-8" )
    #获取Excel中数据
    # 返回值形如:
    # =[{A1:A2,B1:B2,C3:C2,...},{A1:A3,B1:B3,C3:C3,...},{A1:A4,B1:B4,C3:C4,...},....]
    def GetSheetData( file_path, sheet_name):
        wb = openpyxl.load_workbook(file_path)
        # 获取workbook中所有的表格
        sheets = wb.sheetnames
        # 按照指定sheet_name去查询
        sheet = wb[sheet_name]
        # 统计第一行中字段多少,一遍后面使用
        column_names = []
        for r in range(1, sheet.max_column + 1):
            column_names.append(str(sheet.cell(row=1, column=r).value))
        column_num = len(column_names)
        list = []
        if sheet_name in sheets:
            sheet = wb[sheet_name]
            for r in range(2, sheet.max_row + 1):
                dict = {}
                for c in range(1, sheet.max_column + 1):
                    if str(sheet.cell(row=r, column=c).value) == "None":
                        dict[column_names[c - 1].decode('UTF-8')] = ""
                    else:
                        cellvalue = str(sheet.cell(row=r, column=c).value).decode('UTF-8')
                        if "!" in cellvalue and cellvalue[0] == "=":  # 判断数据是否是关联不同sheet页单元格数据,是就是下面方式处理
                            sheetvalue = cellvalue.split("!")[0].strip("=")
                            if sheetvalue in sheets:  # 判断获取的sheet页是否在本Excel中是否存字,存在就调用Rir_sheet(wb,sheet_name,rc)方法
                                dict[column_names[c - 1].decode('UTF-8')] = Rir_sheet(wb, sheetvalue,
                                                                                      cellvalue.split("!")[1])
                            else:
                                dict[column_names[c - 1].decode('UTF-8')] = cellvalue
                        elif "!" not in cellvalue and cellvalue[0] == "=":  # 判断数据是否是关联不同sheet页单元格数据,是就是下面方式处理
                            dict[column_names[c - 1].decode('UTF-8')] = Rir_cell(wb, sheet_name, cellvalue.strip('='))
                        else:  # 如果无关联就直接存字
                            dict[column_names[c - 1].decode('UTF-8')] = cellvalue
                    num = 0
                    for i in dict.values():
                        if len(i.replace(" ", '')) == 0:
                            num = num + 1
                    if num != column_num:
                        list.append(dict)
            return list
        else:
            print 'your input not in sheets'


    #######同一个Excel中,不同sheet页的单元格之间的关联值获取########
    def Rir_sheet( wb, sheet_name, rc):
        sheet = wb[sheet_name]
        sheetdata = wb[sheet_name]
        url = str(rc)
        chrvalue = ""
        for i in url:
            if "a" <= i and i <= "z" or i >= 'A' and i <= 'Z':
                chrvalue = chrvalue + i
        cellvalue = sheetdata.cell(row=int(url.strip(chrvalue)), column=column_index_from_string(chrvalue)).value.decode(
            'UTF-8')
        if "!" in cellvalue and cellvalue[0] == "=":
            sheetvalue = cellvalue.split("!")[0].strip("=")
            return Rir_sheet(wb, sheetvalue, cellvalue.split("!")[1])
        elif "!" not in cellvalue and cellvalue[0] == "=":
            return Rir_cell(wb, sheet_name, cellvalue.strip('='))
        else:
            return cellvalue

    #######同一个Excel中,相同sheet页的单元格之间的关联值获取########
    def Rir_cell( wb, sheet_name, rc):
        ws = wb[sheet_name]
        url = str(rc)
        chrvalue = ""
        for i in url:
            if "a" <= i and i <= "z" or i >= 'A' and i <= 'Z':
                chrvalue = chrvalue + i
        cellvalue = ws.cell(row=int(url.strip(chrvalue)), column=column_index_from_string(chrvalue)).value.decode('UTF-8')
        if "!" in cellvalue and cellvalue[0] == "=":
            sheetvalue = cellvalue.split("!")[0].strip("=")
            return Rir_sheet(wb, sheetvalue, cellvalue.split("!")[1])
        elif "!" not in cellvalue and cellvalue[0] == "=":
            return Rir_cell(wb, sheet_name, cellvalue.strip('='))
        else:
            return cellvalue
    if __name__ == '__main__':
        a=GetSheetData(u'C://Users/Administrator//Desktop//测试文档.xlsx','Sheet2')
        print a[0]['colum6']
        print a[0]['colum2']
        print a[0]['colum3']
        print a[0]['colum4']
    --------------------- 
    作者:Mr熊 
    来源:CSDN 
    原文:https://blog.csdn.net/qq_41030861/article/details/80515984 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • Excel表格关联数据的统计 在许多具有数值计算的表格中,计算合计项容易实现;但要分类计算统计,即求得分类相同项的小计就比较麻烦;如下表中,如果想统计分项各种车型的数量(费用)、各公司的费用使用手工排序方法...
  • <a-table id="a-table1" :scroll="{ y: 300 }" :columns="columns6" :data-source="tabData" :customRow="tableClick1" expandRowByClick />

    在这里插入图片描述

    <template>
        <a-table
          :columns="columns" 
          :data-source="tabData" 
          :customRow="tableClick"
          expandRowByClick
          :row-selection="{selectedRowKeys: selectedRowKeys, onSelectAll: onSelectAll, onSelect: onSelect}" 
        />
    </template>
    
    /** 引入ant-design-vue的Table */
    import Vue from "vue";
    import Table from 'ant-design-vue/lib/table'; // 加载 JS
    import 'ant-design-vue/lib/table/style/css'; // 加载 CSS  ant-design-vue
    Vue.use(Table);
    
    export default {
        data() {
            return {
                selectedRowKeys:[],
                columns: [
                    {
                        title: 'Name',
                        dataIndex: 'name',
                        key: 'name',
                    },
                    {
                        title: 'Age',
                        dataIndex: 'age',
                        key: 'age',
                        width: '12%',
                    },
                    {
                        title: 'Address',
                        dataIndex: 'address',
                        width: '30%',
                        key: 'address',
                    },
                ],
               
                tabData: [
                    {
                        key: 1,
                        name: 'John Brown sr.',
                        age: 60,
                        address: 'New York No. 1 Lake Park',
                        children: [
                            {
                                key: 11,
                                name: 'John Brown',
                                age: 42,
                                address: 'New York No. 2 Lake Park',
                            },
                            {
                                key: 12,
                                name: 'John Brown jr.',
                                age: 30,
                                address: 'New York No. 3 Lake Park',
                                children: [
                                    {
                                        key: 121,
                                        name: 'Jimmy Brown',
                                        age: 16,
                                        address: 'New York No. 3 Lake Park',
                                    },
                                ],
                            },
                            {
                                key: 13,
                                name: 'Jim Green sr.',
                                age: 72,
                                address: 'London No. 1 Lake Park',
                                children: [
                                    {
                                        key: 131,
                                        name: 'Jim Green',
                                        age: 42,
                                        address: 'London No. 2 Lake Park',
                                        children: [
                                            {
                                                key: 1311,
                                                name: 'Jim Green jr.',
                                                age: 25,
                                                address: 'London No. 3 Lake Park',
                                            },
                                            {
                                                key: 1312,
                                                name: 'Jimmy Green sr.',
                                                age: 18,
                                                address: 'London No. 4 Lake Park',
                                            },
                                        ],
                                    },
                                ],
                            },
                        ],
                    },
                    {
                        key: 2,
                        name: 'Joe Black',
                        age: 32,
                        address: 'Sidney No. 1 Lake Park',
                    },
                ],
                expandRowByClick:false,
            }
        },
        
        methods: {
            onSelectAll(selected) {
                if (selected) {
                    const tabData = this.tabData;
                    const arr = [];
                    setVal(tabData, arr);
                    this.selectedRowKeys = arr;
                } else {
                    this.selectedRowKeys = [];
                }
                function setVal(list, arr) {
                    list.forEach(v => {
                      arr.push(v.key);
                      if (v.children) {
                        setVal(v.children, arr);
                      }
                    });
                }
            },
            
            onSelect(record, selected) {
                const set = new Set(this.selectedRowKeys);
                const tabData = this.tabData;
                const key = record.key;
                if (selected) {
                    set.add(key);
                    record.children && setChildCheck(record.children);
                    setParentCheck(key);
                } else {
                    set.delete(key);
                    record.children && setChildUncheck(record.children);
                    setParentUncheck(key);
                }
                
                this.selectedRowKeys = Array.from(set);
                // 设置父级选择
                function setParentCheck(key) {
                    let parent = getParent(key);
                    if (parent) {
                      set.add(parent.key);
                      setParentCheck(parent.key);
                    }
                }
                // 设置父级取消,如果父级的子集有选择,则不取消
                function setParentUncheck(key) {
                    let childHasCheck = false,
                    parent = getParent(key);
                    if (parent) {
                        let childlist = parent.children;
                        childlist.forEach(function(v) {
                            if (set.has(v.key)) {
                                childHasCheck = true;
                            }
                        });
                        if (!childHasCheck) {
                            set.delete(parent.key);
                            setParentUncheck(parent.key);
                        }
                    }
                }
                // 获取当前对象的父级
                function getParent(key) {
                    for (let i = 0; i < tabData.length; i++) {
                        if (tabData[i].key === key) {
                            return null;
                        }
                    }
                    return _getParent(tabData);
                    function _getParent(list) {
                        let childlist,
                        isExist = false;
                        for (let i = 0; i < list.length; i++) {
                            if ((childlist = list[i].children)) {
                                childlist.forEach(function(v) {
                                    if (v.key === key) {
                                        isExist = true;
                                    }
                                });
                                if (isExist) {
                                    return list[i];
                                }
                                if (_getParent(childlist)) {
                                    return _getParent(childlist);
                                }
                            }
                        }
                    }
                }
                // 设置child全选
                function setChildCheck(list) {
                    list.forEach(function(v) {
                        set.add(v.key);
                        v.children && setChildCheck(v.children);
                    });
                }
                // 设置child取消
                function setChildUncheck(list) {
                    list.forEach(function(v) {
                        set.delete(v.key);
                        v.children && setChildUncheck(v.children);
                    });
                }
            },
    		
    		/** 点击a-table中的行后,展开或关闭其子行 */
            tableClick(record, index){
                return {
                    style:{
                        cursor:'pointer',
                    },
                    on: {
                        click: () => {
                            // console.log(record,index);
                            this.expandRowByClick = !this.expandRowByClick;
                        }
                    }
              	}
            },
        }
    }
    
    
    展开全文
  • 事实上可以在需要展示的model中定义一个user()方法,关联两个model: public function user() { return $this->belongsTo(User::class, 'user_id'); } 然后在对应的grid()方法中这么写就可以了: $grid->column('...

    最近整一个后台管理系统,遇到这么个问题:需要在一个model的grid()detail()方法中展示另一个model中的某个字段,但是只存了主键id,没存这个字段本身。

    之前也遇到过这种问题,也解决了,但总觉得不够优雅。之前代码如下这种:

    $grid->column('来源')->display(function() {
                $user_info = User::where(['id' => $this->user_id])->first();
                if ($user_info) {
                    $user_info = $user_info->toArray();
                }
                return isset($user_info['source']) ? $user_info['source'] : "";
            });

    思路很明确,但很繁琐。事实上可以在需要展示的model中定义一个user()方法,关联两个model:

    public function user()
    {
            return $this->belongsTo(User::class, 'user_id');
    }

    然后在对应的grid()方法中这么写就可以了:

    $grid->column('user.source', __('来源'));

    注意,这里的user一定要和model中定义的user()方法名对应。同样,如果是在detail()方法中展示,可以这样:

    $show->user('来源')->as(function ($user) {
                return $user->source;
            });

    相比之前的版本,现在这个看起来就简洁很多了。

     

     

    展开全文
  • 今天小编就为大家分享一篇浅谈layui 数据表格前后台传值的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • excel表格数据对比

    2017-08-05 16:36:15
    自动对比两组数据是否相同,相同则返回一个指定的值。
  • 矢量数据属性表和表格关联

    千次阅读 2018-10-13 00:19:06
    矢量数据属性表和表格关联:  1、一对一关系:连接 2、一对多关系:创建查询表 例如:矢量数据属性表的ID字段的值和表格的HXID字段的值形成一对多关系,则可以使用“创建查询表”工具可对数据应用 SQL 查询,...
  • 功能:可以选择一个固定数据格式的excel文件,根据excel文件的数据,以平铺或堆叠的形式,生成对应的线图或柱状图。可保存图片到本地。 用到:xlsx.js、echarts.js 更新:2019年7月1日,更新支持饼图,新版本V...
  • 「微视频6」如何关联不同表格数据?3分钟教会你!
  • 使用Yii的CGridView作为表格控件来展示数据,方法很简单,在模型中定义search函数,视图中使用如下: widget('application.extensions.grid.FGridView', array( 'id'=>'grid', 'dataProvider'=>$model->search(),...
  • 查询课程编号(cno)是1002的,学员的编号(sno),姓名(sname),年龄(age),地址(address) select sno,sname,age,address from stu01 where sno in( select sno from sco01 where cno=1002); ----使用嵌套查询 ...
  • 转自:https://blog.csdn.net/xu_ok/article/details/77979519
  • element 表格和分页组件数据关联

    千次阅读 2017-09-30 16:36:02
    在table中html<div> <el-table :data="questionlist" border style="width: 100%" max-height="380">..... <pagination v-on:child-say="listenToMyBoy"v-on:child-say2="listenToMyBoy2":totalNum=
  • 如何优化多数据关联报表

    千次阅读 2018-11-12 11:42:52
    数据关联报表是很常见的报表形式,它允许开发者分别从不同的来源(表或数据库)分别准备数据形成不同的数据集,在报表端(模板)通过表达式描述数据集间的关系完成关联。这样可以避免在数据准备时写过于复杂的 ...
  • 宜搭中实现数据联动 + 关联其他表单数据 下面我将在网页中演示宜搭中怎样实现数据联动和关联其他表单!宜搭官网 登录步骤和创建应用我就直接略过啦!【包括应用上线!!有些功能需要应用上线才可以使用!】 新建两个...
  • vue-form表单与table表格数据关联

    千次阅读 2018-08-15 20:27:52
    &lt;!doctype html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&...width=device-width, user-scalable=no, initial
  • table表格数据绑定

    千次阅读 2019-04-18 08:59:45
    table表格数据绑定 开发工具与关键技术:VS、table表格数据绑定 作者:黄桂康 撰写时间:2019.04.16 上一次我们也讲了关于表格数据绑定的有关文章,但本篇是全表格数据绑定的介绍,table表格是我们经常用到的一种...
  • 如图,表sheet1中的A列代表企业名称,B列代表企业地址 表sheet2中的B列需要同步更新sheet1中的企业名称 选中A中所有企业名称 单击右键,进行复制 选中sheet2中要进行粘贴的区域,单击右键,找到选择......
  • 一、业务需求 :作多个批量导入 ,根据业务不同,每条数据导入前作各种验证, 导入后提示验证失败的所有数据和原因。二、思路: 1. 批量导入用 jdbc 直连数据库 addBatch方法实现 ,不走 Mybatis ,...
  • 主要介绍了使用 Python 读取电子表格中的数据,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 数据上的关联规则

    千次阅读 2019-12-23 10:10:39
    关联规则挖掘的目标是发现数据项集之间的关联关系或相关关系,是数据挖掘中的一个重要的课题。 先简单介绍一下关联规则挖掘中涉及的几个基本概念: 定义1:项与项集 数据库中不可分割的最小单位信息,称为项目,...
  • 这是我的打印代码,这里我也把数据源给了FastReport.RegisterData,但是还是报“FastReport.Utils.DataTableException: Table1: 表格没有和数据关联,使用Report.RegisterData方法注册数据” 最后终于找到了问题所在...
  • R语言关联规则-Foodmart数据数据集描述初步探索关联规则挖掘关联规则可视化商品品类的关联规则如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • pandas 是基于NumPy 的一种工具, 名字很卡哇伊,来源是由“ Panel data”(面板数据,一个计量经济学名词)两个单词拼成的。pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。主要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 110,182
精华内容 44,072
关键字:

如何关联表格数据