我会问我占用的方法是否最适合从流创建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){...}
花费更多时间的功能是在文件创建时(文库从我的访问数据列表一次创建一行)借助库
我希望你可以指导我改进我的流程,或者告诉我一些帮助你的方法。
答案 0 :(得分:0)
EPPlus几乎没有函数(下面)可以单步加载所有数据,也可以循环显示所有记录。我使用了LoadFromDataTable(),它很快,节省了大量时间。
LoadFromArrays()
LoadFromCollection<T>()
LoadFromDataReader()
LoadFromDataTable()
LoadFromText()
除此之外,使用范围来进行格式化和其他操作,而不是循环单个单元格。