//Excel模板导数据(Eexcel中根据DataTable中的个数,给多个Sheet中的模板赋值)
public void DataSetToManyExcel(string fileName, string fileUrl, Page page, DataSet my_ds, Dictionary<string, string> dict = null)
{
WorkbookDesigner wbookdesiger = new WorkbookDesigner();
wbookdesiger.Open(fileUrl); //打开模板
try
{
if (my_ds.Tables.Count > )
{
for (var i = ; i < my_ds.Tables.Count; i++)
{
//设置DataTable
wbookdesiger.SetDataSource(my_ds.Tables[i]);
//设置变量
if (dict != null)
{
foreach (var di in dict)
wbookdesiger.SetDataSource(di.Key, di.Value);
}
wbookdesiger.Process(i, false);
//清除数据源
wbookdesiger.ClearDataSource();
}
fileName = System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls";
wbookdesiger.Save(fileName, SaveType.OpenInExcel, FileFormatType.Excel2003, page.Response);
page.Response.End();
}
}
catch (Exception ex)
{
throw ex;
}
} //Excel模板导数据(Eexcel中根据DataTable中的个数,复制第一个Sheet中的模板,然后分别赋值)
public void DataSetToOneExcel(string fileName, string fileUrl, Page page, DataSet my_ds, string tabName = "", Dictionary<int, string> my_dic = null)
{ WorkbookDesigner my_designer = new WorkbookDesigner();
my_designer.Open(fileUrl);//打开文件
Workbook my_workbook = my_designer.Workbook;
try
{
if (my_ds.Tables.Count > )
{
//给表格赋值
for (var i = ; i < my_ds.Tables.Count; i++)
{
var temp = i + >= my_ds.Tables.Count ? i : i + ; //TableName
if (i == )
my_ds.Tables[i].TableName = tabName != "" ? tabName : "dt";
else
my_ds.Tables[temp].TableName = tabName != "" ? tabName + i : "dt" + temp; my_workbook.Worksheets.AddCopy();//复制前一个Sheet模板
my_workbook.Worksheets[i + ].Replace(my_ds.Tables[].TableName, my_ds.Tables[temp].TableName);//替换当前Sheet的下个Sheet的TableName my_designer.SetDataSource(my_ds.Tables[i]);
my_designer.Process(i, false);
my_designer.ClearDataSource();
} //删除最后一个sheet
my_workbook.Worksheets.RemoveAt(my_workbook.Worksheets.Count - ); //给Sheet的Name赋值
if (my_dic != null)
{
for (var i = ; i < my_workbook.Worksheets.Count; i++)
{
foreach (var dd in my_dic)
{
if (i == dd.Key)
my_workbook.Worksheets[i].Name = dd.Value;
}
}
} fileName = System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls";
my_designer.Save(fileName, SaveType.OpenInExcel, FileFormatType.Excel2003, page.Response);
page.Response.End();
}
}
catch (Exception ex)
{
throw ex;
}
}

Aspose.cell中的Excel模板导出数据的更多相关文章

  1. kettle 使用excel模板导出数据

    通过excel进行高速开发报表: 建设思路: 1.首先制订相关的execl模板. 2.通过etl工具(kettle)能够高速的 将数据库中的数据按excel模板导出成新的excel就可以. 当中ket ...

  2. Net 自定义Excel模板导出数据

    转载自:http://www.cnblogs.com/jbps/p/3549671.html?utm_source=tuicool&utm_medium=referral 1 using Sy ...

  3. C# Winform Excel的导出,根据excel模板导出数据

    namespace dxhbskymDemo { public partial class ExcelForm : DevExpress.XtraEditors.XtraForm { public E ...

  4. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据

    ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案   ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...

  5. .Net NPOI 根据excel模板导出excel、直接生成excel

    一.根据Excel模板导出excel 1.导入NPOI.dll  2.DAL中添加类ExportExcel.cs using NPOI.SS.UserModel; using System; usin ...

  6. Magicodes.IE之Excel模板导出教材订购表

    说明 本教程主要说明如果使用Magicodes.IE.Excel完成教材订购表的Excel模板导出. 要点 本教程使用Magicodes.IE.Excel来完成Excel模板导出 需要通过创建Dto来 ...

  7. 用NPOI从DataTable到Excel,向Excel模板填充数据

    DataTable---->Excel,填充数据 private IWorkbook workbook = null; private ISheet sheet = null; private ...

  8. Excel模板导出之动态导出

    说明 目前Magicodes.IE已支持Excel模板导出时使用JObject.Dictionary和ExpandoObject来进行动态导出,具体使用请看本篇教程. 本功能的想法.部分实现初步源于a ...

  9. java实现excel模板导出

    一. 准备工作 1. 点击此下载相关开发工具 2. 将poi-3.8.jxls-core-1.0两个jar包放到工程中,并引用 3. 将excel模板runRecord.xls放到RunRecordB ...

随机推荐

  1. (转) OpenLayers3基础教程——OL3 介绍control

    http://blog.csdn.net/gisshixisheng/article/details/46761535 概述: 本文讲述的是Ol3中的control的介绍和应用. OL2和OL3 co ...

  2. LINUX - .so 与 .a

    .a gcc -c test1.c test2.c(或者g++ -c test1.cpp test2.cpp  )---   .o ar -r libtest.a test1.o test2.o    ...

  3. python PIL图像处理-生成图片验证码

    生成效果如图: 代码 from PIL import Image,ImageDraw,ImageFont,ImageFilter import random # 打开一个jpg图像文件: im = I ...

  4. swiper 滑动获取当前第几页下标

  5. 结构体、枚举、联合(day14)

    一个存储区的地址必须是它自身大小的整数倍 (double类型存储区的地址只需要是4的 整数倍) 这个规则叫数据对齐 结构体里面的子存储区通常也需要遵守数据 对齐的规则 数据对齐会造成结构体内部子存储区 ...

  6. HDU1029 - Ignatius and the Princess IV【水题】

    给你n个数字,请你找出出现至少(n+1)/2次的数字. 输入 本题包含多组数据,请处理到EOF: 每组数据包含两行. 第一行一个数字N(1<=N<=999999) ,保证N为奇数. 第二行 ...

  7. Docker创建Mysql容器并通过命令行连接到容器

    拉取网易蜂巢的mysql-server:5.6 docker pull hub.c.163.com/nce2/mysql:5.6 创建mysql5.6容器 1master+3个slave docker ...

  8. 20190218-学习python使用shelve遇到raise error, "db type could not be determined"

    照书上敲代码,运行了提示raise error, "db type could not be determined",现场如下: ubuntu-vm:~/code/massageb ...

  9. Bootstrap关于表格

    1.Bootstrap为表格提供了1种基础样式和4种附加样式以及1个支持响应式的表格. ☑  .table:基础表格 ☑  .table-striped:斑马线表格 ☑  .table-bordere ...

  10. 【微软2017年预科生计划在线编程笔试第二场 A】Queen Attack

    [题目链接]:http://hihocoder.com/problemset/problem/1497 [题意] 给你n个皇后; 然后问你其中能够互相攻击到的皇后的对数; 皇后的攻击可以穿透; [题解 ...