精华内容
下载资源
问答
  • 通过js合并表格重复出现的数据

    千次阅读 2017-12-18 13:27:24
    通过js合并表格相邻的重复的单元格

    js必须等表格加载完成后调用。
    效果如图:输入图片说明

    js代码:

    function uniteTable(tableId,colLength) {
        //colLength-- 需要合并单元格的列1开始
       var tb=document.getElementById(tableId);
    
       tb.style.display='';
    
        var i = 0;
        var j = 0;
    
        var rowCount = tb.rows.length; //   行数 
        var colCount = tb.rows[0].cells.length; //   列数 
    
        var obj1 = null;
        var obj2 = null;
        var obj3 = null;
    
        //为每个单元格命名 
        for (i = 0; i < rowCount; i++) {
            for (j = 0; j < colCount; j++) {
                tb.rows[i].cells[j].id = "tb__" + i.toString() + "_" + j.toString();
            }
        }
    
        //合并行 
    for (i = 0; i < colCount; i++) {
        if (i == colLength) break;
        obj1 = document.getElementById("tb__0_" + i.toString())
        for (j = 1; j < rowCount; j++) {
            obj2 = document.getElementById("tb__" + j.toString() + "_" + i.toString());
            if (obj1.innerText == obj2.innerText) {
                obj1.rowSpan++;
                obj2.parentNode.removeChild(obj2);
            } else {
                obj1 = document.getElementById("tb__" + j.toString() + "_" + i.toString());
            }
        }
    }
    
    //合并列
    for (i = 0; i < rowCount; i++) {
        colCount = tb.rows[i].cells.length;
        obj1 = document.getElementById(tb.rows[i].cells[0].id);
        for (j = 1; j < colCount; j++) {
            if (j >= colLength) break;
            if (obj1.colSpan >= colLength) break;
            obj2 = document.getElementById(tb.rows[i].cells[j].id);
            if (obj1.innerText == obj2.innerText) {
                obj1.colSpan++;
                obj2.parentNode.removeChild(obj2);
                j = j - 1;
            }
            else {
                obj1 = obj2;
                j = j + obj1.rowSpan;
            }
        }
    }
    }

    优化后的效果(这里只实现了合并行):
    效果图如下:
    输入图片说明
    代码如下:

    function uniteTable(tableId,colLength) {
        //colLength-- 需要合并单元格的列1开始
       var tb=document.getElementById(tableId);
    
       tb.style.display='';
    
        var i = 0;
        var j = 0;
    
        var rowCount = tb.rows.length; //   行数 
        var colCount = tb.rows[0].cells.length; //   列数 
    
        var obj1 = null;
        var obj2 = null;
        var obj3 = null;
    
        //为每个单元格命名 
        for (i = 0; i < rowCount; i++) {
            for (j = 0; j < colCount; j++) {
                tb.rows[i].cells[j].id = "tb__" + i.toString() + "_" + j.toString();
            }
        }
    
    
        //合并行  (列循环)第一行第一列均从0开始
        for (i = 0; i < colCount; i++) {
    
            //如果第3,4,5列不进行合并操作
            if (i == 2 || i == 3 || i == 4) continue;
            obj1 = document.getElementById("tb__0_" + i.toString())
            //(行循环)
            for (j = 1; j < rowCount; j++) {
                obj2 = document.getElementById("tb__" + j.toString() + "_" + i.toString());
    
                if(i == 0){         //第1列全部进行合并操作
                    if (obj1.innerText == obj2.innerText) {     //判断值是否相等
                        obj1.rowSpan++;                         //合并行
                        obj2.parentNode.removeChild(obj2);      //移除被合并的行
                    } else {
                        obj1 = document.getElementById("tb__" + j.toString() + "_" + i.toString());
                    }
                }else if(i == 5){   //第6列合并操作参照第2列,第二列合并了,第5列才进行合并
                    obj3 = document.getElementById("tb__" + j.toString() + "_" + (i-4).toString());
                    if (obj1.innerText == obj2.innerText && obj3 == null) {
                        obj1.rowSpan++;
                        obj2.parentNode.removeChild(obj2);
                    } else {
                        obj1 = document.getElementById("tb__" + j.toString() + "_" + i.toString());
                    }
                }else{              //只有前一列进行了合并操作后面的才会进行合并操作
                    obj3 = document.getElementById("tb__" + j.toString() + "_" + (i-1).toString());
                    if (obj1.innerText == obj2.innerText && obj3 == null) {
                        obj1.rowSpan++;
                        obj2.parentNode.removeChild(obj2);
                    } else {
                        obj1 = document.getElementById("tb__" + j.toString() + "_" + i.toString());
                    }
                }
            }
        }
    }
    展开全文
  • 先贴出来javascript代码  setInterval(function AutoMerge() { if ($('.table tbody tr').eq(0).data('mergetd') == undefined) { var date = ''; var start = 0; var end = 0; $('.

    先贴出来javascript代码 

    setInterval(function AutoMerge() {
        if ($('.table tbody tr').eq(0).data('mergetd') == undefined) {
            var date = '';
            var start = 0;
            var end = 0;
            $('.table tbody tr').each(function(index) {
                if (date == $(this).find('td').eq(0).html()) {
                    end = index;
                } else {
                    $('.table tbody tr').eq(start).find('td').eq(0).attr('rowspan', end - start + 1).css({
                        'vertical-align': 'middle'
                    });
                    /*console.log(start + ',' + end + ',' + date); */
                    for (var i = start + 1; i <= end; i++) {
                        $('.table tbody tr').eq(i).find('td').eq(0).remove();
                    };
                    start = index;
                    end = index;
                }
                date = $(this).find('td').eq(0).html();
                if (index == $('.table tbody tr').size() - 1) {
                    $('.table tbody tr').eq(start).find('td').eq(0).attr('rowspan', end - start + 1).css({
                        'vertical-align': 'middle'
                    });
                    for (var i = start + 1; i <= end; i++) {
                        $('.table tbody tr').eq(i).find('td').eq(0).remove();
                    }
                }
            });
        }
        $('.table tbody tr').eq(0).data('mergetd', 1);
    },
    50);
    效果图:




    展开全文
  • 易语言高级表格合并列相同内容源码,高级表格合并列相同内容,高表填数据,高级表格列相同内容合并
  • 这几天做一个项目有用到表格显示数据的地方,客户要求重复的数据列需要合并,就总结了一下GridView 和 Repeater 关于重复数据合并的方法。 效果图如下: GridView : 前台代码 : 一级> <asp:Label ID=...
  • c#中合并DataTable重复行的值,需要的朋友可以参考一下
  • java导出excel表格,但是在导出的时候要合并一些内容相同的单元格,格式不固定的,不确定哪些内容重复,所以得在循环里控制,弄了3天还没出来,求大神解救!!!不胜感激
  • 上下合并之后,居然出现了两个93.3分,点进去看又确实只有一个93.3,复制出来也是正常的 源码如下: CellRangeAddress range = new CellRangeAddress(rowIndex, toRowIndex, columnIndex, toColumnIndex);//合并...

    问题如下:

    本文使用java-poi实现,

    上下合并之后,居然出现了两个93.3分,点进去看又确实只有一个93.3,复制出来也是正常的

    源码如下:

     CellRangeAddress range = new CellRangeAddress(rowIndex, toRowIndex, columnIndex, toColumnIndex);//合并从第rowFrom行columnFrom列
     hSheet.addMergedRegion(range);

    网上找了很多文章,没有一个是解决此类问题的,大多只是提供合并的api

    解决思路:

    1.在合并之前,动态设置第一个单元格以外的需要被合并的单位内容为空

    2.再进行合并单元格的操作

    源码:

    因为作者这里是上下进行合并所以函数名称为down(向下)Merged(合并)Region(区域)

       public void downMergedRegion(int rowIndex, int columnIndex, int toRowIndex, int toColumnIndex) {
            if (rowIndex < toRowIndex) {
                for (int i = rowIndex+1; i <= toRowIndex; i++) {
                    for (int j = columnIndex; j <= toColumnIndex; j++) {
                        HSSFRow row = hSheet.getRow(i);
                        if (null != row) {
                            HSSFCell cell = row.getCell(j);
                            if (null != cell) {
                                cell.setCellValue("");
                            }
                        }
                    }
                }
            }
            CellRangeAddress range = new CellRangeAddress(rowIndex, toRowIndex, columnIndex, toColumnIndex);//合并从第rowFrom行columnFrom列
            hSheet.addMergedRegion(range);
        }

    结果:

    展开全文
  • 众所周知,html展现的内容经常有重复的,此时有2个方法可以解决,1是从数据库源头去掉重复的数值。 另外一个就是前端去掉重复值。一般来说第二个好点,因为不用重复查库了,重复查库会影响效率。 下面就用源代码来...

      众所周知,html展现的内容经常有重复的,此时有2个方法可以解决,1是从数据库源头去掉重复的数值。

    另外一个就是前端去掉重复值。一般来说第二个好点,因为不用重复查库了,重复查库会影响效率。

    下面就用源代码来展现吧,jquery的插件解决重复值的问题。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
        <script>

        jQuery.fn.rowspan = function(colIdx) { //封装的一个JQuery小插件
              return this.each(function(){
                 var that;
                 $('tr', this).each(function

    展开全文
  • 在python---合并两个excel表格内容中,对两个表格直接合并,忽略了重复值和缺失值。现要求如下 1.xlsx 2.xlsx 对“1.xlsx”中重复姓名的项记录,在“2.xlsx”中,没有“1.xlsx”中的【小阳】项,对该缺失项也...
  • 大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。Excel中“合并后居中”没有快键键,但可以自定义快捷键,方法如下:1、...注意事项:如果是连续的合并单元格操作,可以使用重复上一步操作的...
  • 客户资料大部分都是存储在一个个EXCEL表格中的,而且有时数量十分庞大,可能有几十几百的EXCEL文档,而这些你当中可能有些数据是重复的,面对如此繁多的EXCEL文件和客户数据,你可能会发出这样的感叹:怎样对EXCEL...
  • 其次,通过对上篇博客的分享学习,想必大家对合并多张Excel表格早已得心应手,那么今天我们就一起来学习学习对合并好的excel表格进行简单的排版。 上次分享的合并多张Excel表格连接:https://blo...
  • 但是,有时候我们的内容有很多,这时候重复操作合并单元格显得有些笨拙,那有没有办法快速合并相同项呢?答案是肯定的,下面,我将介绍一些快速合并同类项的方法。方法一:分类汇总法1.1 如图,是本次操作的数据源。...
  • // 要处理表格的总行数, 用于最后一行做特殊处理时进行判断之用 // 我们对每一行数据进行"扫面"处理 关键是定位col-td, 和其对应的rowspan $('tbody tr', $table).each(function (index) { // td:eq中的...
  • table { border-collapse:collapse; } 转载于:https://www.cnblogs.com/autoXingJY/p/10482443.html
  • python---合并两个excel表格内容

    千次阅读 2020-04-07 10:50:42
    需求描述: 示例:两个excel表格如下: ...现要将上面两个表格合并如下: 合并.csv 解决方法: CSV(CommaSeparatedValues,逗号分隔值 ),是一个纯文本格式,用逗号分隔一系列值。它存储数据,但不包含...
  • EXCEL如何计算出合并单元格后面的数据的和使用这个,支持合并单元格求和公式。操作如下图:工具地址:www.excelfb.com点击...搜索词没有重复的话,直接用VLOOKUP进行查找就可以在表一的基础上,G4输入=VLOOKUP(B4,...
  • 2、在唯一合并下的不唯一且重复合并 3、不唯一且重复在上一个不唯一合并条件下的合并 ···························································...
  • element-ui table表格内容相同自动合并

    千次阅读 2018-12-22 17:44:00
    项目需求:第二列的内容如果相同,则合并单元格,并且序号也合并: 实现方法: 1.rowspan()方法在获取数据之后调用 rowspan() { this.spanArr = [];//在data里面定义 this.position = 0; //在data里面定义 ...
  • 主要介绍了python 删除excel表格重复行,数据预处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 这几天做一个项目有用到表格显示数据的地方,客户要求重复的数据列需要合并,就总结了一下GridView 和 Repeater 关于重复数据合并的方法。 效果图如下 : GridView : 前台代码 : 一级> <asp:...
  • Excel表格合并工具

    2020-03-18 05:41:56
    2 你可以通过鼠标拖放调整要合并的excel文件的顺序 3 你可以批量添加指定工作表 4 如果要保存的文件已经存在 那么添加的工作表将插入到原文件工作表的最左边 而不会把原来存在的工作表覆盖 也就是说如果你有多...
  • 根据第一列的内容进行合并单元格,相同内容合并 js 第一列的内容不相同,后面的列数相同也不合并 合并之前: ![图片说明](https://img-ask.csdn.net/upload/201801/18/1516253742_151090.png) 合并之后: ![图片...
  • Vue+Element UI el-table合并表格相同值行合并 代码一 export function formatRowspanAndColspan(tableData, tableKey) { const newArr = [] // 分类检出tempList中的数据push到newArr中 for (let i = 0; i < ...
  • 在生活中,我们经常会遇到这样的情况,即多个excel表格聚合为一种形式。例如,你分发表单班上所有学生填写,你负责结合成一个每个人的结果。有很多这样的问题。除了手动将所有表的内容复制到汇总表,如何使用Python自动...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,219
精华内容 18,887
关键字:

如何合并表格重复内容