Aspose.cells导出Excel合并行单元格(Datatable)
//前台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)相关推荐
- 如何将Excel多行单元格文字合并到一个单元格中
如何将Excel多行单元格文字合并到一个单元格中 参考网址:https://jingyan.baidu.com/article/ed15cb1b28042c5ae369819f.html 1.打开需要 ...
- Oracle 对某一字段下杂乱的内容进行 换行 空格 回车等操作 导出Excel后保留单元格内换行
Oracle 对某一字段下杂乱的内容进行 换行 空格 回车等操作 导出Excel后保留单元格内换行 效果图如下 修改前 修改后: 瞬间整洁多了 心情也好了 ;导出Excel 单元格也会带换行 sql如 ...
- layui导出excel动态拆分单元格一个单元格显示多行数据合并单元格
需求如图 首先说明是不能拆分单元格的,因为单元格是最小单位.只能通过合并单元格来实现. 实现思路:点击导出按钮,去请求后端数据.data数据如下: [{OrderNo: 'No637829645038 ...
- html导出excel合并单元格,JS导出EXCEL,动态设置单元格格式,合并单元格(横向或纵向)等操作...
参考链接: https://blog.csdn.net/weixin_33724046/article/details/89611397 https://www.cnblogs.com/lvsk/p/ ...
- LAY-EXCEL导出excel并实现单元格合并
通过lay-excel插件实现Excel导出,并实现单元格合并,样式设置等功能. 更详细描述,请去lay-excel插件文档查看,地址:http://excel.wj2015.com/_book/do ...
- 使用Aspose.Cells导出excel
先提供数据源,使用aspose创建excel的单元格和各种样式,插入图片,冻结单元格,行高等 public string ExportDemo() { View ...
- pdfpcell输出换行_poi导出Excel(cell单元格里的一串文字,换行显示,设置字体)...
/** * 民主推荐结果导出列表,班子换届 * * @param formBean * @param request * @param response * @param redirectAttrib ...
- python使用openpyxl excel 合并拆分单元格
再次编辑中,这次是在使用删除列的时候发现,合并单元格会出现漏删除情况,才想到用拆分单元格,没想到unmerge_cells(),worksheet.merged_cells返回的合并单元格对象居然不能 ...
- python openpyxl合并单元格_python使用openpyxl excel 合并拆分单元格
再次编辑中,这次是在使用删除列的时候发现,合并单元格会出现漏删除情况,才想到用拆分单元格,没想到unmerge_cells(),worksheet.merged_cells返回的合并单元格对象居然不能 ...
最新文章
- Failure Groups in ASM
- ACM 模板--邻接表 有向图 搜索算法
- 多项目同步进行“交叉编译”
- mysql/event.myd no fond_mysql Last_Error: Error 'File './sales.MYD' not found (Errcode: 24)
- php显示错误内容为空,检查文件夹是否为空输出错误(PHP)
- postman断言之常用函数
- linux脚本判断流程控制,Shell 脚本-6- 流程控制之判断分支
- html代码 打开本地文件,打开本地HTML文件
- 关于CSS中定位的个人理解
- MDP蒙特卡罗方法(四)
- 计算机控制系统与常规仪表控制系统的主要异同点,计算机控制统考试.doc
- 互联网靠什么赚钱和发展趋势
- 关于移植人脸识别功能到linux开发板
- 快速入门nebula graph
- WISP Client+AP WDS 的区别
- 从动物科学到乐队鼓手,腾讯技术小哥的开源人生
- 机器学习基础01--scikit-learn库的运用使用库中的数据集与make_blobs/moons/circles的使用
- 检查评分汇总表缺项计算机,综合检查评分表.docx
- python爬虫app步骤_Python爬虫抓取手机APP的传输数据,python爬虫抓取app
- 阿里云官方出品:全面总结阿里云云原生架构方法论与实践经验
热门文章
- 接口鉴权之cookie、session和token
- MATLAB里面的mghglobal函数,Matlab讨论区 - 声振论坛 - 振动,动力学,声学,信号处理,故障诊断 - Powered by Discuz!...
- 微信检测开通号码软件|检测微信
- 网易云音乐前端实习二面
- 《Java 2实用教程》(第5版)(清华大学出版社)作者:张跃平、耿祥义习题答案详解
- 大一上学期第十六周学习生活总结
- 论文阅读笔记系列(一)SMAT: An Input Adaptive Auto-Tuner for Sparse Matrix-Vector Multiplication—————————————
- java取款_JAVA实现账户取款和存款操作
- MindManager揭秘:中国航母史
- 怎么开启MIUI9系统的Root权限