导出分页datagridview数据的最快方法是什么 [英] what is the fastest way to export paged datagridview data

查看:77
本文介绍了导出分页datagridview数据的最快方法是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好



我再次需要一个意见,我已经分页datagridview,我需要从所需的页面或过滤的数据中导出数据,这意味着要有更多的页面要超越或csv或其他什么,但很快,因为我有很多记录。我在之前的帖子中已经完成了excel并且它可以工作,但它很慢,如何加快速度



此代码有效,但非常非常慢,我需要出口说1000行啊啊啊我可以去吃饭,回来它仍然没有完成





Hello

I need an opinion again, I have paged datagridview and I need to export data from either desired page or filtered data, that means more pages to excel or csv or whatever, but fast, cause I have many records. I have done with excel in previous of my posts here and it works but it is very slow, how to speed things up

this code works but very very very slow, i fa I need to export say 1000 rows ahhhhh man I can go to dinner , come back and it still isn't finished


Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();

Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);

Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
 

app.Visible = true;

worksheet = workbook.Sheets["Sheet1"];
worksheet = workbook.ActiveSheet;

for (int i = 1; i < dg1.Columns.Count + 1; i++)
{
   worksheet.Cells[1, i] = dg1.Columns[i - 1].HeaderText;
}

for (int i = 0; i < dg1.Rows.Count - 1; i++)
{
   for (int j = 0; j < dg1.Columns.Count; j++)
   {
      worksheet.Cells[i + 2, j + 1] = dg1.Rows[i].Cells[j].Value.ToString();
   }
}





[edit]已添加代码块[/ edit]

推荐答案

您好,



您需要一次设置所有值通过使用 Excel.Range ,如下所示:



Hi,

you need to set all values at once by using Excel.Range, like this:

// Assuming using Excel = Microsoft.Office.Interop.Excel;

String[,] table = ... // 2D String array of datagrid cells

Excel.Range cell1 = null;
Excel.Range cell2 = null;
Excel.Range range = null;

try
{
	// Get range
	cell1 = (Excel.Range)worksheet.Cells[1, 1];
	cell2 = (Excel.Range)worksheet.Cells[numRows, numCols];
	range = worksheet.Range[cell1, cell2];

	// Set range value
	range.Value2 = table;
}
finally
{
	// Don't forget to destroy Excel COM objects.
}


这篇关于导出分页datagridview数据的最快方法是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆