c#导出excel速度慢
发布网友
发布时间:2022-05-14 06:19
我来回答
共1个回答
热心网友
时间:2023-10-08 18:50
试试spire.xls生成excel,例如将datatable导出到excel:
//创建一个workbook对象,默认创建03版的Excel
Workbook workbook = new Workbook();
//指定版本信息,07及以上版本最多可以插入1048576行数据
workbook.Version = ExcelVersion.Version2013;
//获取第一张sheet
Worksheet sheet = workbook.Worksheets[0];
//得到在datatable里的数据
DataTable dt = GetDataTable();
//从第一行第一列开始插入数据,true代表数据包含列名
sheet.InsertDataTable(dt, true, 1, 1);
//保存文件
workbook.SaveToFile("ExportDataToExcel.xlsx",ExcelVersion.Version2013);
c#导出excel慢
这其实最主要是算法的问题,没看到你的程序,只能猜测。如果你的程序是每导出一条数据,都是先连接数据库,再导出数据,再关闭数据库,然后循环完成,虽然在逻辑上没问题,且少量数据导出时速度上没太大感觉,但大数据量导出时必然出现导出问题。1、应在逻辑上改为,先连接数据库,循环导出完成后,再关...
c#怎么提高导出Excel效率
把要输出的内容先建一个二维数组存放,然后将二维输出赋给range对象
c#导出excel速度慢
试试spire.xls生成excel,例如将datatable导出到excel://创建一个workbook对象,默认创建03版的Excel Workbook workbook = new Workbook();//指定版本信息,07及以上版本最多可以插入1048576行数据 workbook.Version = ExcelVersion.Version2013;//获取第一张sheet Worksheet sheet = workbook.Worksheets[0];...
关于C#函数ApplicationDoEvents()
你提的问题实际上是优化导出excel效率的问题,有两种解决方法:1 优化你的pivotGridControl1.ExportToXls方法,使之速度变快,具体可以用微软提供的EXCEL组件,将数据源存到内存的datatable中,然后用StreamWriter的方式,将数据Response出来,存到excel中, 例如:Response.AddHeader("content-disposition", ...
如何解决C#读取Excel速度很慢的问题
1.打开EXCEL COM+组件需要的权限验证 2.workBook = app.Workbooks.Open(TempletFile, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);验证是否有权限打开这个EXCEL文件 这部分操作消耗的系统资源比较大 建议你可以配置IIS...
c#使用for循环逐行读取excel数据很慢
是因为占用内存的原因,需要使用OpenXMLSDK方法,然后会释放掉内存,会在虚拟空间中释放内存,会让读取数据变快百分之50
c# C/S程序导出Excel问题
第一种解决方案 对不起,你的这个方案我没有使用过,看代码好像是纯文本格式啊,制表符分割,是标准的xls格式吗?或者你考虑把数据改为'410xxxxxxxxxx,Excel会识别成文本的 第二种解决方案 导入的dll文件 - 引用属性 - 复制本地=true 没有特殊需求,我一般都导出成csv文件,逗号分割,纯文本文件 ...
在做数据导出到excel时(c#),在本机上能导出表格,但是移到服务器上就没...
因为每次导出Excel时候,都会启动一个Excel.exe进程,导出结束后该进程不能自动关闭,需要写代码杀掉它,很麻烦。如果你做的是WebForm,还要解决调用安全问题。所以,我建议用三方组件NPOI来实现导出Excel,它的优点是不需要考虑上面说的问题,且导出速度快。NPOI的使用需要另行百度。
c#中 new Excel.Application 实例化 很慢 每次耗时90秒,该如何解决...
这个实例化过程需要做COM+权限验证,实例化慢不是机器问题这个不需要质疑。你可以参考楼上的使用第三方插件。也可以通过设置COM+访问权限来解决这个问题。
c#导出EXCEL
你这个方法在数据量大的时候会很慢也容易出错,你可以采用XML的方式导出EXCEL表格string text1 = Server.MapPath("../../TechnicdocFiles/")a.xls"); if (File.Exists(text1)) { File.Delete(text1); } StreamWriter writer1 = new StreamWriter(text1, false); StreamWriter writer2 = writer1; writer...