WinForm里如何一次性加载大量数据?

WinForm里如何一次性加载大量数据?,第1张

不知道你的重画 *** 作是如何处理的

一般来讲,你这5W条记录其实也并不多,如果缓存数据做的挺好,查询起来也就那么回事,并且还不怎么占内存。

而对于重画,我不知道你是不是需要在UI上进行绘图,如果是需要绘图,那么

你需要进行双缓冲处理

你只需要绘可视区域

你可以使用多线程,一方面进行数据的准备工作,另外一方面进行UI的绘制工作

Thread AcceptThd = new Thread(getData())

AcceptThd.Start()

private void getData(){

...

}

1.建立与excel表的连接,获得工作表ObjWorkSheet,

using Microsoft.Office.Interop.Excel

Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application()

Workbook ObjWorkBook

Worksheet ObjWorkSheet = null

ObjWorkBook = ObjExcel.Workbooks.Open(sPathName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing)

foreach (Microsoft.Office.Interop.Excel.Worksheet sheet in ObjWorkBook.Sheets){if (sheet.Name.ToLower() == sheetName.ToLower()){ObjWorkSheet = sheetbreak}}if (ObjWorkSheet == null)

throw new Exception(string.Format("{0} not found!!", sheetName))

2.得到单元格中的内容,注意i从1开始,j从1开始计,i==1时,对应字段名称所在的行

Range cell = (Range)ObjWorkSheet.Cells[i, j]

单元格的值为cell.value2

3.设置字段类型需要做一个交互界面,你先获得并显示字段名称,然后对其设置类型

4.由交互界面获得字段和字段类型,利用你的编程接口将excel的数据导入数据库

我的是用oracle数据库的,与你的接口不同,所以只能说这么多了.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10031937.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存