//前台ajax返回成功的数据

$.ajax({
            url: "地址?r=" + Math.random,
            type: "post",
            async: false,

//传的搜索条件
            data: { key: data},
            cache: false,
            success: function (obj) {
                if (obj.split('|')[0] == "true") {
                    //alert(obj.split('|')[1]);
                    window.open(obj.split('|')[1], '_parent'); 
                }
                else
                    alert("导出失败!");
            }
        });

//后台代码

#region 合并列导出 DevStatusExport()

/// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public string DevStatusExport()
        {

StringBuilder key = new StringBuilder();

//前台查询条件

string key_data= Request["key"] == null ? "" : Request["key"].ToString().Trim();  
            //key.Append("1=1");
            if (!string.IsNullOrEmpty(key_data))
            {
                key.AppendFormat(" AND 条件 LIKE '%{0}%'", key_data);
            }
           //导出子母表数据及明细

DataSet ds = DevDemandBLL.GetExportList(key.ToString());

//母表的条数

DataSet dss = DevDemandBLL.GetExportLists(key.ToString());
          //生成随机数
            Random objRand = new Random();
            string fileName = "合并行单元格导出" + DateTime.Now.ToString("yyyyMMdd") + Convert.ToString(objRand.Next(9) * 7 + 10) + ".xls";
            try
            {
                WriteExcels(ds, dss, Server.MapPath("/ExportPath/" + fileName));
            }
            catch (Exception ex)
            {
                return "false|" + ex.Message;
            }
            return "true|/ExportPath/" + fileName;
        }

public void WriteExcels(DataSet ds,DataSet dss, string path)
        {
            try
            {
                DataTable data = ds.Tables[0];

DataTable dt = dss.Tables[0];

//创建EXCEL表

Workbook book = new Workbook();
                Worksheet sheet = book.Worksheets[0];
                Cells cells = sheet.Cells;
                if (dt.Rows.Count > 0)
                {
                    int Colnum = data.Columns.Count;//表格列数 
                    int Rownum = data.Rows.Count;//表格行数 
                    //生成标题行
                    cells[0, 0].PutValue("第一列");
                    cells[0, 1].PutValue("第二列");
                    cells[0, 2].PutValue("第三列");
     
                    //生成数据行   
                    for (int i = 0; i < Rownum; i++)
                    {
                        for (int k = 0; k < Colnum; k++)
                        {
                            cells[1 + i, k].PutValue(data.Rows[i][k].ToString());
                        }
                    }
                    //合并单元格
                    int q = 0;

int RowOrder = 0;

//循环母表数据

foreach (DataRow item in dt.Rows)

{

//查询母表下子表的条数

RowOrder = DevDemandBLL.GetRowsOrder(item["字段"].ToString());

cells.Merge(1 + q, 0, RowOrder, 1);

cells.Merge(1 + q, 1, RowOrder, 1);
                        cells.Merge(1 + q, 2, RowOrder, 1);

//(1+q:第几行开始;第几列;合并行数;)

q = q + RowOrder;
                    } 
                }
                book.Save(path);
                GC.Collect();
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message);
            }
        }
        #endregion

Aspose.cells导出Excel合并行单元格(Datatable)相关推荐

  1. 如何将Excel多行单元格文字合并到一个单元格中

    如何将Excel多行单元格文字合并到一个单元格中 参考网址:https://jingyan.baidu.com/article/ed15cb1b28042c5ae369819f.html 1.打开需要 ...

  2. Oracle 对某一字段下杂乱的内容进行 换行 空格 回车等操作 导出Excel后保留单元格内换行

    Oracle 对某一字段下杂乱的内容进行 换行 空格 回车等操作 导出Excel后保留单元格内换行 效果图如下 修改前 修改后: 瞬间整洁多了 心情也好了 ;导出Excel 单元格也会带换行 sql如 ...

  3. layui导出excel动态拆分单元格一个单元格显示多行数据合并单元格

    需求如图 首先说明是不能拆分单元格的,因为单元格是最小单位.只能通过合并单元格来实现. 实现思路:点击导出按钮,去请求后端数据.data数据如下: [{OrderNo: 'No637829645038 ...

  4. html导出excel合并单元格,JS导出EXCEL,动态设置单元格格式,合并单元格(横向或纵向)等操作...

    参考链接: https://blog.csdn.net/weixin_33724046/article/details/89611397 https://www.cnblogs.com/lvsk/p/ ...

  5. LAY-EXCEL导出excel并实现单元格合并

    通过lay-excel插件实现Excel导出,并实现单元格合并,样式设置等功能. 更详细描述,请去lay-excel插件文档查看,地址:http://excel.wj2015.com/_book/do ...

  6. 使用Aspose.Cells导出excel

    先提供数据源,使用aspose创建excel的单元格和各种样式,插入图片,冻结单元格,行高等 public string ExportDemo()         {             View ...

  7. pdfpcell输出换行_poi导出Excel(cell单元格里的一串文字,换行显示,设置字体)...

    /** * 民主推荐结果导出列表,班子换届 * * @param formBean * @param request * @param response * @param redirectAttrib ...

  8. python使用openpyxl excel 合并拆分单元格

    再次编辑中,这次是在使用删除列的时候发现,合并单元格会出现漏删除情况,才想到用拆分单元格,没想到unmerge_cells(),worksheet.merged_cells返回的合并单元格对象居然不能 ...

  9. python openpyxl合并单元格_python使用openpyxl excel 合并拆分单元格

    再次编辑中,这次是在使用删除列的时候发现,合并单元格会出现漏删除情况,才想到用拆分单元格,没想到unmerge_cells(),worksheet.merged_cells返回的合并单元格对象居然不能 ...

最新文章

  1. Failure Groups in ASM
  2. ACM 模板--邻接表 有向图 搜索算法
  3. 多项目同步进行“交叉编译”
  4. mysql/event.myd no fond_mysql Last_Error: Error 'File './sales.MYD' not found (Errcode: 24)
  5. php显示错误内容为空,检查文件夹是否为空输出错误(PHP)
  6. postman断言之常用函数
  7. linux脚本判断流程控制,Shell 脚本-6- 流程控制之判断分支
  8. html代码 打开本地文件,打开本地HTML文件
  9. 关于CSS中定位的个人理解
  10. MDP蒙特卡罗方法(四)
  11. 计算机控制系统与常规仪表控制系统的主要异同点,计算机控制统考试.doc
  12. 互联网靠什么赚钱和发展趋势
  13. 关于移植人脸识别功能到linux开发板
  14. 快速入门nebula graph
  15. WISP Client+AP WDS  的区别
  16. 从动物科学到乐队鼓手,腾讯技术小哥的开源人生
  17. 机器学习基础01--scikit-learn库的运用使用库中的数据集与make_blobs/moons/circles的使用
  18. 检查评分汇总表缺项计算机,综合检查评分表.docx
  19. python爬虫app步骤_Python爬虫抓取手机APP的传输数据,python爬虫抓取app
  20. 阿里云官方出品:全面总结阿里云云原生架构方法论与实践经验

热门文章

  1. 接口鉴权之cookie、session和token
  2. MATLAB里面的mghglobal函数,Matlab讨论区 - 声振论坛 - 振动,动力学,声学,信号处理,故障诊断 - Powered by Discuz!...
  3. 微信检测开通号码软件|检测微信
  4. 网易云音乐前端实习二面
  5. 《Java 2实用教程》(第5版)(清华大学出版社)作者:张跃平、耿祥义习题答案详解
  6. 大一上学期第十六周学习生活总结
  7. 论文阅读笔记系列(一)SMAT: An Input Adaptive Auto-Tuner for Sparse Matrix-Vector Multiplication—————————————
  8. java取款_JAVA实现账户取款和存款操作
  9. MindManager揭秘:中国航母史
  10. 怎么开启MIUI9系统的Root权限