从流生成Excel

时间:2015-06-01 04:00:06

标签: excel azure optimization stream epplus

我会问我占用的方法是否最适合从流创建excel文件。 我问,因为这个过程可能会增长,并可能导致问题。

这是一个递归过程。 首先发出数据请求。 创建流 创建文件并保存(Azure)

这里重要的是,如果一个用户发出新请求,则读取旧文件并将其与新数据合并,所有在数据流中肯定使用EPPlus库,该文件可以有60,000行。

一些代码:

//Request Data
var dta = db.Database.SqlQuery<ListData>(String.Format(......

//Generate Container - StreamData can be null or contain old data downloaded
using (ExcelPackage epck = new ExcelPackage(StreamData)){...}

foreach (var item in dta){...}

花费更多时间的功能是在文件创建时(文库从我的访问数据列表一次创建一行)借助库

我希望你可以指导我改进我的流程,或者告诉我一些帮助你的方法。

1 个答案:

答案 0 :(得分:0)

EPPlus几乎没有函数(下面)可以单步加载所有数据,也可以循环显示所有记录。我使用了LoadFromDataTable(),它很快,节省了大量时间。

LoadFromArrays()
LoadFromCollection<T>()
LoadFromDataReader()
LoadFromDataTable()
LoadFromText()

除此之外,使用范围来进行格式化和其他操作,而不是循环单个单元格。