C# Aspose填充excel模板数据,下载
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模板数据,下载的更多相关文章
- java后台读取excel模板数据
/** * 读取EXCEL模板数据 * * @param excelFilePath excel文件路径 * @param dataRowNum 开始读取数据的行数 * @param keyRowNu ...
- excel模板数据填充 :tablefill
背景(问题) 在Web后台系统中或多或少都存在导入数据的功能,其中操作流程基本是 1.下载模板 2.填充模板数据 3.上传模板 但通常比较耗费时间的是填充模板数据这一步骤, 已自己为例之前的数据要么是 ...
- 不会吧不会吧,还有开发不会Java填充PDF模板数据的,赶紧看看吧
思路 根据业务需求,获取实际业务数据,借助itext库功能,将业务数据填充入提前制作好的PDF模板中 操作步骤 制作PDF模板:提前下载好Adobe Acrobat Pro DC 效果展示 准备PDF ...
- PPT、Word、Excel模板免费下载
本篇文章可能只有寥寥数字,但他的作用可能很大,可能帮助到很多朋友.本人喜欢搜集一些资源,也爱免费分享,因为好东西我藏不住,总感觉分享出来更快乐. 网址:https://www.bangongziyua ...
- java导出excel模板数据
Java导出excel数据模板,这里直接贴代码开发,流程性的走下去就是步骤: String[] colName=new String[]{"期间","科目代码" ...
- 【.Net 学习系列】-- 利用Aspose转换Excel为PDF文件
功能: 从数据库中查询出数据 利用Aspose.cell + Excel模板绑定数据源生成Excel文件 通过Aspose.pdf + 生成好的Excel生成PDF文件 实现: 查询数据,根据Exce ...
- java实现赋值excel模板,并在新文件中写入数据,并且下载
/** * 生成excel并下载 */ public void exportExcel(){ File newFile = createNewFile(); //File newFile = new ...
- 用NPOI从DataTable到Excel,向Excel模板填充数据
DataTable---->Excel,填充数据 private IWorkbook workbook = null; private ISheet sheet = null; private ...
- c# Aspose.Cells 通过Excel模板生产excel数据再打印
多的不说,我们先来利用Northwind做两个小demo.先说说Aspose.Cells的模板语法: &=DataSource.Field,&=[DataSource].[Field] ...
随机推荐
- 学习迭代器实现C#异步编程——仿async/await(一)
.NET 4.5的async/await真是个神奇的东西,巧妙异常以致我不禁对其实现充满好奇,但一直难以窥探其门径.不意间读了此篇强文<Asynchronous Programming in C ...
- 批判“await使用中的阻塞和并发”——对asyc/await这对基友的误会和更正
写第一篇<await使用中的阻塞和并发>的时候还自信满满,觉得写的真不错,结果漏洞百出…… 更正第二篇<await使用中的阻塞和并发(二)>的时候觉得这回不会再错了…… 结果我 ...
- Beginning Asp.Net Security 读书笔记-----XSS
几个月前通过Veracode对代码进行动态和静态安全扫描,扫出了数以千计的安全bug,基本上都是top 10的,安全漏洞. 其中CWE80,CWE601数量最多.具体CWE的定义可参考http://c ...
- WPF 无边框拖动
无边框之后的拖动方法有三种. 我个人是喜欢第一和第三的方法,看个人去需求. 第三种代码比较仓促,有需要者可以立马用,或者稍作整理修改. 对于WIN10 .NET 4.5以上的框架可以使用 WIndow ...
- java—数据存储过程 (54)
存储过程:procedure:就是一段可执行程序.这个程序运行在数据中. Begin = { End = } If Else 也可以接收参数. 1 定义一个procedure: CREATE PROC ...
- Spark Streaming初步使用以及工作原理详解
在大数据的各种框架中,hadoop无疑是大数据的主流,但是随着电商企业的发展,hadoop只适用于一些离线数据的处理,无法应对一些实时数据的处理分析,我们需要一些实时计算框架来分析数据.因此出现了很多 ...
- Jquery选择器 选择一个不存在的元素 为什么不会返回 false
不管找没找到,$()函数都会返回一个jquery对象,这个jquery对象有个length属性,表示找到多少个匹配的DOM元素,为0就是没找到.
- ELK安装成windows服务
一.Elasticsearch安装成windows服务 我的es所在路径为:D:\ELK5.5.0\elasticsearch-5.5.0 Java 安装目录为:C:\Program Files\Ja ...
- Lucene.Net+盘古分词器(详细介绍)
本章阅读概要1.Lucenne.Net简介2.介绍盘古分词器3.Lucene.Net实例分析4.结束语(Demo下载)Lucene.Net简介 Lucene.net是Lucene的.net移植版本,是 ...
- 【性能测试】脚本开发,最普通的http协议脚本
放上来做个备份: Action() { double transTime; // 事务消耗时间 lr_start_transaction("营销_01_MSMH0011_查询拥有码列表&qu ...