Aspose.cells导出Excel合并行单元格(Datatable)
来源:互联网 发布:淘宝网中长羊毛羊绒杉 编辑:程序博客网 时间:2024/05/21 17:48
//前台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)
- DataTable 用Aspose.Cells导出Excel
- c#使用aspose.cells 从datatable导出数据到excel
- c#使用aspose.cells 从datatable导出数据到excel
- 导出excel设置样式(Aspose.Cells)
- 导出excel设置样式(Aspose.Cells)
- Aspose.Cells Excel导出导入
- Aspose.Cells导出 Array.ArrayList.DataTable.DataColumn.DataView.DataGrid.GridView.DataReader数据源到Excel
- aspose.cells导出EXCEL分页分组函数
- Aspose.Cells、NPOI、MyXls导出Excel
- 利用Aspose.Cells组件导出excel文件
- jxl导出excel(合并行、合并列、单元格居中、单元格固定宽度、字体加粗、分页签)
- C#+Aspose.Cells 导出Excel及设置样式 (Webform/Winform)
- (C#)利用Aspose.Cells组件导入导出excel文件
- (C#)利用Aspose.Cells组件导入导出excel文件
- 利用Aspose.Cells和Excel模板导出复杂的统计数据
- 利用Aspose.Cells 组件导出数据到excel
- WinForm使用Aspose.cells利用模板导出Excel
- SQL INSERT INTO SELECT
- position定位
- API Demos(6) AccessibilityService 无障碍辅助功能
- 【DevExpress】GridControl添加按钮列并添加按钮事件【转】
- Dos命令的巧用
- Aspose.cells导出Excel合并行单元格(Datatable)
- 使用python刷Leetcode算法题(第一周)
- Laravel 5.5框架 核心类Kernel
- java引用传递和对象传递的区别(对象在方法中传递时,仅仅传的是地址的副本)
- Repository接口及其实现
- 常用电感封装与电流关系
- caffe配置常见报错解解决方法
- Qt之窗体透明
- <%!%>与<% %>