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. JSON 解析的两种方法

    今天帮朋友看了下JSON解析结果············· eval解析JSON中的注意点 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. ...

  2. c语言博客作业01—分支、顺序结构

    1.本章学习总结  1.1 思维导图  1.2本章学习体会及代码量学习体会  1.2.1学习体会 这周 对c语言的学习 明显与其他同学相比较有些滞后,觉得很大原因是暑假没有看教学视频,课前没有预习课本 ...

  3. RabbitMq初探——消息持久化

    消息持久化 前言 通过上一节,我们知道,有消息确认机制,保证了当消费者进程挂掉后,消息的不丢失. 但是如果rabbitmq挂掉呢?它的队列和消息都会丢失的.为了保证消息在rabbitmq挂掉重启后不丢 ...

  4. sqlite3简单操作

    最近在操作公司视频设备的tutk转发服务器的时候,用到的数据库是sqlite,在此复习一下 目录 1 建立数据库档案 2 在sqlite3提示列下操作 3 SQL的指令格式 4 建立资料表 5 建立索 ...

  5. 初学python之路-day15

    一.生成器send方法 # send的工作原理 # 1.send发送信息给当前停止的yield # 2.再去调用__next__()方法,生成器接着往下指向,返回下一个yield值并停止 # 案例: ...

  6. Net Manager测试连接测试没有成功,用户权限问题,以管理员身份运行后测试成功

    Net Manager测试连接测试没有成功,截图如下:

  7. 记一次优化ansible inventory的小例子

    起因: 阿里云新扩容一批机器,要对上面的flume配置做修改 之前的inventory是这样子的 [user@vip10-ali-tj-console host_vars]$ sdiff vip10- ...

  8. 【javascrpt】——图片预览和上传,兼容IE 9-

    下载DEMO:https://github.com/CaptainLiao/zujian/tree/master/Upload 对于现代浏览器来说,要实现图片预览非常简单: 1.fileReader. ...

  9. java编码规范_缩进和注释

    1.       缩进排版(Indentation) 4个空格常被作为缩进排版的一个单位.缩进的确切解释并未详细指定(空格 vs. 制表符).一个制表符等于n个空格(视具体的编辑器而定,Eclipse ...

  10. GraphQL 如何取代 Redux

    简评:使用 GraphQL 可以大大简化客户端状态管理部分的代码. ⚛️切换到React 故事背景:在 2016 年,Pathwright 的前端团队就开始将客户端的代码从 Backbone & ...