精华内容
下载资源
问答
  • 复杂表头

    2017-11-12 21:04:00
    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <...复杂表头</title> </head> <body> <script type="text/javascript">...
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>复杂表头</title>
    </head>
    <body>
        
        <script type="text/javascript">
            var data = [
                {
                    key: 'A',
                    nodes: 4,
                    children: [
                        { key: 'A1' },
                        { key: 'A2', nodes: 2,
                            children: [
                                { key: 'A21' },
                                { key: 'A22', nodes: 1, children: [{ key: 'A221' }] }
                            ] 
                        },
                        { key: 'A3' }
                    ]
                },
                {
                    key: 'B',
                    nodes: 4,
                    children: [
                        { key: 'B1', nodes: 2, 
                            children: [
                                { key: 'B11', nodes: 1, children: [{ key: 'B111' }] },
                                { key: 'B12' }
                            ] 
                        },
                        { key: 'B2' },
                        { key: 'B3' }
                    ]
                }
            ];
    
            
    
            function printColumn(row, layer, index = 0) {
                if (row.length === 0) return '';
    
                var nextRow = [];
                var tpl = '<tr>';
    
                row.forEach(v => {
                    if (v.nodes) {
                        tpl += '<td colspan="' + v.nodes + '">' + v.key + '</td>';
                        nextRow = nextRow.concat(v.children);
                    } else {
                            tpl += '<td rowspan="'+(layer - index)+'">' + v.key + '</td>';
                    }
    
                });
    
                tpl += '</tr>';
    
                if (nextRow.length) {
                    tpl += printColumn(nextRow, layer, index + 1);
                }
    
                return tpl;
            }
    
            function printRow(col, layer, index = 0) {
                if (layer === index) return '';
    
                col.forEach(v => {
                    let size = layer - index - 1;
                    tpl += '<tr>';
                    if (v.nodes) {
                        tpl += '<td rowspan="' + (v.nodes) + '">' + v.key + '</td>';
                        printCell(v.children.shift(), layer, index + 1, size);
                        tpl += '</tr>';
                        if (v.children.length) {
                            printRow(v.children, layer, index + 1);
                        }
                    } else {
                        tpl += '<td colspan="' + (size + 1) + '">' + v.key + '</td></tr>';
                    }
                });
            }
    
            function printCell(col, layer, index, size) {
                if (col.nodes) {
                    tpl += '<td rowspan="'+ col.nodes +'">' + col.key + '</td>';
                    printCell(col.children.shift(), layer, index + 1, size - 1);
                    if (col.children.length) {
                        printRow(col.children, layer, index + 1, size);
                    }
                } else {
                    tpl += '<td colspan="' + size + '">' + col.key + '</td>';
                }
            }
    
    
            var table = '<table border=1>';
            table += printColumn(data, 4);
            table += '</table>';
            
            var tpl = '<table border=1>';
            printRow(data, 4);
            tpl += '</table>';
    
            document.write(table + tpl);
        </script>
    </body>
    </html>

     

    转载于:https://www.cnblogs.com/zhoulingfeng/p/7822908.html

    展开全文
  • DataGrid 复杂表头

    2017-06-05 17:39:33
    Wpf DataGrid 复杂表头 自定义实现显示多阶层的表头
  • 复杂表头:https://blog.csdn.net/hmy1106/article/details/51285572 固定列及表头:https://www.cnblogs.com/ZGQ-VIP/p/10212329.html 复杂表头及固定列:...
    展开全文
  • 复杂表头固定行,固定列,纯css实现,样式可修改,可根据自己要求,更改表头,以及固定列的数量,本人亲测,确实好用
  • Table表复杂表头.zip

    2020-07-08 14:13:44
    Html5 JavaScript jquery PC端, 前端使用JavaScript静态导出Table 复杂表头,固定table复杂表头
  • 矩表控件出现之前,对于复杂表头的报表的实现,如多行表头嵌套,列单元格合并等,只能通过一些Look Like的方法来实现,并没有做到真正的底层实现来解决实质性的内容。复杂表头报表,甚至只能通过Table嵌套来实现,...

    矩表控件出现之前,对于复杂表头的报表的实现,如多行表头嵌套,列单元格合并等,只能通过一些Look Like的方法来实现,并没有做到真正的底层实现来解决实质性的内容。复杂表头报表,甚至只能通过Table嵌套来实现,这样一来,报表设计难度上升,而且容易出现样式错误等信息。无所不能的矩表控件,所向无敌,列单元格合并更不在话下。

    本节中国式复杂报表第四讲:类Excel 复杂表头报表实现;主要通过行列单元格合并功能来实现。无论多复杂的报表表头,都能轻松创建

    报表结构分析:

    bf5974d3d8ce5679241b4b47c881e045.png

    1. 表头复杂,单列包含多级列头,列头占用的单元格数不确定。

    2. 合计行在明细行上方

    (这要是没有了矩表控件,可是难倒一大片报表专家)

    解决方案:

    矩表,矩表,矩表;

    列单元格合并

    报表实现:

    1.新建RDL报表模板

    2.添加数据源和数据集

    1. 绑定数据源

    2. 添加数据集

    select * from 财政教育经费投入数据 ;

    1349f6976cf47b00f21cfb1682aecb84.png

    3.添加矩表控件

    添加Tablix后,会发现有类似[ 符号,表示分组,即可根据具体数据动态生成行。会发现设计器下面的矩表分组管理器;

    4.添加复杂表头

    通过报表结构分析,报表列数据主要分为三组;列中包含三大列“财政教育经费投入(万元)”;“其他投入”;“补充资料”;每一大列下面包含合计项,和子列头;如其他投入:包含村投入,社会捐款;

    因此我们需要逐层细化;构造复杂的表头结构;

    1. 添加三个分组列;

    31e5e5ca5a4d093ad82b54ea4263083f.png

    a3077c3f5f231bbafddba2f58f578641.png

    2. 添加列头行 5列;

    22908bccb424ef75a726c800e0c1db9d.png

    3.构造“财务教育经费投入(万元)”列

    ef84ce877660e4ab6995721e4ed7816c.png

    添加8个子列,合计列自动生成;

    08697d0ff8ea75c550e154f2b645017f.png

    合并首行单元格,输入“财政教育经费投入(万元)”

    合并第二行“1-7”单元格;输入“教育事业费”

    合并第二行“8”单元格,第三行“8”单元格,第四行“8”单元格,第五行“8”单元格;输入“基建拨款”

    5e32c0bff34f8bc727be5a627f721069.png

    合并第三行“1-2”单元格;输入“合计”

    列单元格合并,输入“人员经费”;同样的方法,创建“日常公用经费”

    725e2d06d3fbdce93cb686428782ba11.png

    c9602d8064ee24e0bc212f5953e592a9.png

    合并第三行“5-7”单元格,输入“项目经费”

    c2ac40f29e4eec11d8ebc5adfda3eb47.png

    合并第四行和第五行单元格“1”;合并第四行和第五行单元格“2”;输入内容

    caec7a0e4ad72bcb6725c9fb5bf9a487.png

    合并第四行和第五行“5”单元格,输入“合计”;合并第四行“6”,“7”单元格;输入“其中”;在剩余的单元格中,输入内容;

    64f1cf1510111221a8fbfa1fd39230e3.png

    添加分组合计;选中单元格,右键选择添加合计“分组前面”

    e5c8ab0722ed252faf86029dc87ef13f.png

    合并相应单元格,输入“合计”;

    34c3ecc92ab50bcab3446fa673fcf654.png

    “财政教育经费投入”列就已经构造完成,可采用相同的操作来创建“其他投入”;“补充资料”列。

    5.添加行,将具体字段拖拽到行分组中;

    6.将具体数据绑定到单元格中;

    7.选择行分组单元格添加合计,选择插入“分组前面”,即可保证合计在详细数据上方:

    7dff37572878b6547da3ed94f9835b08.png

    到这里,报表的整体结构都已创建完成了,需要做的就是调整报表样式。

    文章转自葡萄城

    标签:报表解决方案报表.NET报表控件

    本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

    a6e1590ae4b228073faff3806334194e.png0

    好文不易,鼓励一下吧!

    展开全文
  • easyexcel 复杂表头、动态表头、复杂数据导出easyexcel 生成动态复杂表头+数据填充实现代码生成效果图 easyexcel 生成动态复杂表头+数据填充 实现代码 @Test public void test() throws IOException { // 文件...

    easyexcel 生成动态复杂表头(非注解)+数据填充(非注解)

    实现代码

     @Test
        public void test() throws IOException {
            // 文件输出位置
            OutputStream out = new FileOutputStream("d://test.xlsx");
            ExcelWriter writer = EasyExcelFactory.write(out).build();
    
            // 动态添加表头,适用一些表头动态变化的场景
            WriteSheet sheet1 = new WriteSheet();
            sheet1.setSheetName("商品明细");
            sheet1.setSheetNo(0);
            // 创建一个表格,用于 Sheet 中使用
            WriteTable   table = new WriteTable( );
            table.setTableNo(1);
            table.setHead(head());
            // 写数据
            writer.write(contentData(), sheet1, table);
            writer.finish();
            out.close();
        }
    
        private static List <List<String>> head(){
            List<List<String>> headTitles = Lists.newArrayList();
            String basicInfo = "基础资料",skuInfo = "商品扩展",orderInfo = "经营情况",empty = " ";
            //第一列,1/2/3行
            headTitles.add( Lists.newArrayList(basicInfo ,basicInfo,"类别") );
            //第二列,1/2/3行
            headTitles.add( Lists.newArrayList(basicInfo,basicInfo,"名称" ) );
            List<String>  skuTitles = Lists.newArrayList("组合商品", "上一次优惠时间", "销售次数", "库存", "价格");
            skuTitles.forEach(title->{
                headTitles.add( Lists.newArrayList(skuInfo ,skuInfo,title) );
            });
            List<Integer> monthList = Lists.newArrayList(5,6);
            //动态根据月份生成
            List<String> orderSpeaces = Lists.newArrayList("销售额", "客流", "利润");
            monthList.forEach(month->{
                orderSpeaces.forEach(title->{
                    headTitles.add( Lists.newArrayList(orderInfo ,  month+"月" ,title ) );
                });
            });
            //无一、二行标题
            List<String> lastList = Lists.newArrayList("日均销售金额(元)", "月均销售金额(元)" );
            lastList.forEach(title->{
                headTitles.add( Lists.newArrayList(empty , empty ,title ) );
            });
            return headTitles;
        }
    
        private static List <List<Object>> contentData(){
            List<List<Object>> contentList = Lists.newArrayList();
            //这里一个List<Object>才代表一行数据,需要映射成每行数据填充,横向填充(把实体数据的字段设置成一个List<Object>)
            contentList.add( Lists.newArrayList("测试", "商品A","苹果🍎") );
            contentList.add( Lists.newArrayList("测试", "商品B","橙子🍊") );
            return contentList;
        }
    

    Lists这个类是guava的依赖

    生成效果图

    在这里插入图片描述

    展开全文
  • 最近项目里用到复杂表头excel导出。复杂表头,一般就是有很多合并单元格了,使用POI直接去写的话呢,只需要操作合并单元格,写入合并单元格数据就好了。但是写代码的方式定制表头,太啰嗦,列多了,表头复杂了,写的...
  • asp.net 导入excel时,处理合并表头、复杂表头、多行表头 1.解决复杂表头的Excel导入。可以解决任何复杂的表头。 2.导入时,显示请稍后。。。提醒框,完毕后会自动隐藏 3.全面扫描Excel数据,将所有异常详细信息写入...
  • QTableWidget QTableView 自定义复杂表头(多行表头,表头合并) 、冻结、固定特定的行
  • datagrid复杂表头

    2019-11-29 16:40:02
    datagrid复杂表头 [[ { field: 'comCode', width: '15%', rowspan: 2, title: '机构代码', align: 'left',styler:function(value,row,index){}}, { field: 'statMonth', width: '15%', rowspan: 2, ...
  • layui 复杂表头导出

    2020-09-22 09:59:22
    layui 复杂表头导出,可一直调用,但不支持IE
  • 复杂表头表格

    2019-10-06 22:58:28
    复杂表头表格。如下图: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <...
  • layui 复杂表头多层表头的表格数据非后台导出excel

    千次阅读 热门讨论 2019-08-28 16:20:38
    用过layui table的都了解,layui的表格自带导出功能,只要在属性toolbar里配置即可。 如果嫌toolbar里的导出按钮...而多层复杂表头在很多系统中都有体现,而若不想通过后台代码去做导出,只在前端页面上该如何做呢?
  • POI导出设置复杂表头

    千次阅读 2019-05-30 17:03:25
    POI导出设置复杂表头 先展示一下表头结构 工具类 /** * 生成表格(用于生成复杂表头) * * @param sheetName sheet名称 * @param wb 表对象 * @param cellListMap 表头数据 {key=cellRowNum-1} * @param ...
  • Layui表格-复杂表头

    千次阅读 2019-07-07 19:59:34
    很多人都不会复杂表头设置,复杂表头 这个功能非常实用,可以让用户更清楚地理解 表格里的数据信息; Layui表格复杂表头:常用的两极表头 和通常表格不一样的是加多两个属性: 联系人 员工信息 rowspan="2"这个...
  • QT QTableView QTableWidget 复杂表头(多行表头) 、(冻结、固定特定的行),具体效果看博客: https://blog.csdn.net/xiezhongyuan07/article/details/82857631
  • LayUI table官方文档中在介绍复杂表头时的用例仅使用了自动渲染的方式作为参考,而并未用到方法渲染的方式来做用例,这让部分不太熟悉layUI table的开发者会有些头疼,不知道如何在方法渲染中实现复杂表头,本文将...
  • xlsxwriter编写复杂表头

    千次阅读 2019-06-05 23:06:15
    xlsxwriter编写复杂表头 作为一名数据分析小白,并且第一次写blog,如果有错,请多多指教。并且代码可能太手工了,如果有更高效、简易的写法,请指点一下。 先上图,做成的效果大概就这个样子,在Excel中,如果要做...
  • 使用了一个高手的原有DEMO改造而成,优化了导出复杂表头增加样式过慢的问题。
  • Flex grid 复杂表头

    千次阅读 2016-02-04 15:35:01
    Flex grid 复杂表头
  • 使用easypoi导出复杂表头excel

    千次阅读 2019-06-02 23:01:48
    自定义模板将每一个单元表格数据都是一个map,根据key找到对应的行,如果对应的表头是单一表头,value就是数据,如果是复杂表头,则value可以是List,根据key确定复杂表头对应的子行。 具体的数据结构如下: [ { ....
  • LayUI table官方文档中在介绍复杂表头时的用例仅使用了自动渲染的方式作为参考,而并未用到方法渲染的方式来做用例,这让部分不太熟悉layUI table的开发者会有些头疼,不知道如何在方法渲染中实现复杂表头,本文将...
  • 手动拼装复杂表头 导出excel的时候,有时候遇到要导出复杂的表头 有规律的复杂表头,可以动态拼接。没有规律的,就需要手动处理了。 先理解下表格的位置,二维的,从0开始,依次增加。 表格1:理解表格...
  • 复杂JTable(复杂表头、跨行列表体)
  • 一个用于生成多层复杂表头的jquery插件,可以进行表头和数据的动态生成,动态筛选以及一定的统计分析功能。
  • Poi 导出带复杂表头的内容 目录 Poi 导出带复杂表头的内容 代码: Contrller Service: 导出类:PoiExcelExporter 测试用postman: 结果: 总结: 有时候遇到要导出复杂的表头 手动拼接复杂表头是难点...
  • easyui datagrid 复杂表头合并列单元数量和内容都是动态的,我想先将datagrid表头导出到excel 然后再将数据到入到该excel中,该怎么做???
  • 占用两行数据,利用合并表格功能实现多行表头
  • PHPexcel表格导出_复杂表头 /** * excel导出(复杂表头) * @Date 2020-04-22 * @author zxj * @param [type] $title [文件名称] * $cellName = array( * array('name' => '商家订单号', 'r...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,345
精华内容 538
关键字:

复杂表头