国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

解決VB.net使用COM控件加載Excel文件速度慢的問題

2019-11-11 01:07:52
字體:
供稿:網(wǎng)友

先發(fā)一下第一版速度超級慢的代碼:

Dim dt As New DataTable        Dim ExcelApp As New Excel.application        Dim WorkBook As Excel.Workbook        Dim WorkSheet As Excel.Worksheet        Dim dt As New DataTable        dt.Columns.Add("編號")        dt.Columns.Add("地址碼")        dt.Columns.Add("姓名")        For i As Integer = 1 To 10000            dt.Rows.Add({i, WorkSheet.Cells(i + 1, 3).value, WorkSheet.Cells(i + 1, 4).value})        Next這樣寫的話,加載1w行的數(shù)據(jù)差不多要用半分多鐘的時(shí)間,還就三列而已,這速度簡直不能忍受啊~網(wǎng)上翻了一下資料,有大神給出了解釋:

Excel.Range的Value屬性是Object的二維數(shù)組。于是我想,不去遍歷每個(gè)單元格,而是一次取得所要操作區(qū)域(Range)的Value屬性,對這個(gè)二維數(shù)組操作,最后再把這個(gè)二維數(shù)組賦回去,就大功能告成了。把后面循環(huán)的代碼段改成下面的寫法,秒加載完成啊!

Dim ary As Object(,) = WorkSheet.Range("A1:E10001").Value        For i As Integer = 1 To 10000            dt.Rows.Add({i, ary(i + 1, 3), ary(i + 1, 4)})        Next


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 德安县| 新疆| 松溪县| 雅江县| 六安市| 通渭县| 微博| 溆浦县| 沁水县| 彰化市| 青浦区| 东台市| 西乌珠穆沁旗| 陆河县| 龙川县| 霍州市| 若尔盖县| 金坛市| 兴宁市| 富锦市| 灌南县| 巴南区| 吴桥县| 安吉县| 孝感市| 洮南市| 赤水市| 德令哈市| 金湖县| 正蓝旗| 北川| 关岭| 巫山县| 阳新县| 桦南县| 铜鼓县| 顺昌县| 衡山县| 信宜市| 宾阳县| 瓦房店市|