从流中生成 Excel
Generate Excel From Stream
我会问我使用的方法是否是从流创建 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){...}
花费更多时间的函数是在库的帮助下创建文件时(库一次从我访问的数据列表中创建一行)
希望您能指导我改进我的流程,或者告诉我一些对您有帮助的方法。
EPPlus 有几个函数(见下文)可以单步加载所有数据或循环加载所有记录。我用过 LoadFromDataTable(),它很快,节省了很多时间。
LoadFromArrays()
LoadFromCollection<T>()
LoadFromDataReader()
LoadFromDataTable()
LoadFromText()
除此之外,使用范围来设置格式和其他内容,而不是循环单个单元格。
我会问我使用的方法是否是从流创建 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){...}
花费更多时间的函数是在库的帮助下创建文件时(库一次从我访问的数据列表中创建一行)
希望您能指导我改进我的流程,或者告诉我一些对您有帮助的方法。
EPPlus 有几个函数(见下文)可以单步加载所有数据或循环加载所有记录。我用过 LoadFromDataTable(),它很快,节省了很多时间。
LoadFromArrays()
LoadFromCollection<T>()
LoadFromDataReader()
LoadFromDataTable()
LoadFromText()
除此之外,使用范围来设置格式和其他内容,而不是循环单个单元格。