public Result<object> GetAExcelFieItem(string[] aid, int kind, string contype) {
string fileUrl = AppDomain.CurrentDomain.BaseDirectory + "\\Template\\FileItemData.xls";
Result<object> result = new Result<object>();
try
{
List<Volumes> listvol = Item.Where(w => aid.Any(a => a == w.ID)).OrderBy(o => o.Sort).ToList(); //获取数
WorkbookDesigner designer = new WorkbookDesigner();
Workbook workbook = new Workbook(fileUrl);
Worksheet worksheet = workbook.Worksheets[]; Cells cells = worksheet.Cells;
Aspose.Cells.Range range = cells.CreateRange("A1", "G19");
//打开模板文件,得到WorkBook对象
int allpagecount = ; listvol = listvol == null ? new List<Volumes>() : listvol;
foreach (var vol in listvol)
{
var vlis = List.Where(p=> p.VolumesID == vol.ID).OrderBy(p=> p.Sort).ToList();
int pagecount = vlis.Count / + (vlis.Count % == ? : ); //当前卷的总页数
for (int j = ; j <= pagecount; j++)
{
int startrow = allpagecount * ;
Aspose.Cells.Range range2 = cells.CreateRange(startrow, , startrow+, );
range2.Copy(range);
range2.RowHeight = ; worksheet.Cells[startrow + , ].PutValue(vol.VolumesName);
worksheet.Cells[startrow + , ].PutValue(vol.VolumesCode);
worksheet.Cells[startrow + , ].PutValue(vol.RetentionPeriod);
cells.SetRowHeight(startrow + , );
cells.SetRowHeight(startrow + , ); worksheet.Cells.ClearContents(startrow + , , startrow + , );//删除起始单元格到结束单元格数据
int pagerow = (j == pagecount && vlis.Count % != ) ? vlis.Count % : ;//当前页行数
object[,] arr = new object[pagerow, ];
for (int i = ; i < pagerow; i++)
{
int index = (j - ) * + i;//当前行在卷内的序号
worksheet.Cells[startrow + + i, ].PutValue(vlis[index].Sort);
worksheet.Cells[startrow + + i, ].PutValue(vlis[index].FileCode);
worksheet.Cells[startrow + + i, ].PutValue(vlis[index].Responsible);
worksheet.Cells[startrow + + i, ].PutValue(vlis[index].FileName);
worksheet.Cells[startrow + + i, ].PutValue(vlis[index].FileDate);
worksheet.Cells[startrow + + i, ].PutValue(vlis[index].PageNum);
worksheet.Cells[startrow + + i, ].PutValue(vlis[index].Remark);
}
allpagecount++;
}
}
System.IO.MemoryStream ms = workbook.SaveToStream();//生成数据流 //转换成流字节,输出浏览器下载
byte[] ret = ms.GetBuffer();
result.Data = ret;
result.Message = "目录.xls";
result.DataCount = ;
//关闭流
ms.Close();
GC.Collect();
}
catch (Exception e)
{
result.Flag = false;
GC.Collect();
if (e.InnerException != null)
result.Message = e.InnerException.Message;
else
result.Message = e.Message;
}
return result;
}

C# Aspose填充excel模板数据,下载的更多相关文章

  1. java后台读取excel模板数据

    /** * 读取EXCEL模板数据 * * @param excelFilePath excel文件路径 * @param dataRowNum 开始读取数据的行数 * @param keyRowNu ...

  2. excel模板数据填充 :tablefill

    背景(问题) 在Web后台系统中或多或少都存在导入数据的功能,其中操作流程基本是 1.下载模板 2.填充模板数据 3.上传模板 但通常比较耗费时间的是填充模板数据这一步骤, 已自己为例之前的数据要么是 ...

  3. 不会吧不会吧,还有开发不会Java填充PDF模板数据的,赶紧看看吧

    思路 根据业务需求,获取实际业务数据,借助itext库功能,将业务数据填充入提前制作好的PDF模板中 操作步骤 制作PDF模板:提前下载好Adobe Acrobat Pro DC 效果展示 准备PDF ...

  4. PPT、Word、Excel模板免费下载

    本篇文章可能只有寥寥数字,但他的作用可能很大,可能帮助到很多朋友.本人喜欢搜集一些资源,也爱免费分享,因为好东西我藏不住,总感觉分享出来更快乐. 网址:https://www.bangongziyua ...

  5. java导出excel模板数据

    Java导出excel数据模板,这里直接贴代码开发,流程性的走下去就是步骤: String[] colName=new String[]{"期间","科目代码" ...

  6. 【.Net 学习系列】-- 利用Aspose转换Excel为PDF文件

    功能: 从数据库中查询出数据 利用Aspose.cell + Excel模板绑定数据源生成Excel文件 通过Aspose.pdf + 生成好的Excel生成PDF文件 实现: 查询数据,根据Exce ...

  7. java实现赋值excel模板,并在新文件中写入数据,并且下载

    /** * 生成excel并下载 */ public void exportExcel(){ File newFile = createNewFile(); //File newFile = new ...

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

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

  9. c# Aspose.Cells 通过Excel模板生产excel数据再打印

    多的不说,我们先来利用Northwind做两个小demo.先说说Aspose.Cells的模板语法: &=DataSource.Field,&=[DataSource].[Field] ...

随机推荐

  1. html中事件调用JavaScript函数时有return与没有return的区别

    JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置. 而该值决定了当前操作是否继续.当返回的是true时,将继续操作.当返回是 ...

  2. SQL server 添加主外键约束

    ---添加主键约束   alter table 表名 add constraint 约束名 primary key (主键)          - --添加唯一约束   alter table 表名 ...

  3. zun 不能创建 docker 容器,报错: datastore for scope "global" is not initialized

    问题:zun不能创建docker容器,报错:datastore for scope "global" is not initialized   解决:修改docker 服务配置文件 ...

  4. WIN7 64位配置X86 MySQL 数据源

    在运行中输入“c:\windows\syswow64\odbcad32.exe”,在调出来的ODBC管理器中配置数据源.

  5. WiFi安全那些事儿,整理推荐~

    即使你安装了防火墙,不连接任何WIFI和热点,不在任何不受信任的网站下载东西,及时清理缓存和个人敏感信息,你相信吗?你的个人隐私仍然可能被泄露出去! 基础篇: 推荐1  谁出卖了你  << ...

  6. MyEclipse生成Javadoc帮助文档

    Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类.方法.成员等注释形成一个和源代码配套的API帮助文档.也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Java ...

  7. 关于字典的几个类--defaultdict,OrderedDict, zip()

    一.  1个键对应多个值 比如:d = {'a' : [1, 2, 3],  'b' : [4, 5]},可以使用 collections 模块中的 defaultdict 来构造这样的字典 from ...

  8. Ambiguous mapping found. Cannot map 'XXXController' bean method

    springMVC报错,原因方法之间@RequestMapping()到了同一个地址,导致springmvc无法定位

  9. UVALive-7457-Discrete Logarithm Problem(取模运算)

    原题链接 额,一直在理解题意在纠结看不懂,后来才恍然大悟 题意:定义一种新运算 a × b = a * b mod p : 已知条件给定一个p 求 x 这里用到同余与模运算乘法公式:a * b % n ...

  10. AFNetworking 3.1.0 使用中某些知识点讲解

    # POST / GET  请求 /*! 首先要知道,POST请求不能被缓存,只有 GET 请求能被缓存.因为从数学的角度来讲,GET 的结果是 幂等 的,就好像字典里的 key 与 value 就是 ...