hwq911128 发表于 2026-1-5 20:39:02

excel问题请教

使用魂哥的那个读写教程,如果要读取一个几千行30列的excel表基本就是卡死,要么就是特别特别慢,一条一条的像表格里读取,有没有什么方法能快速读取啊。都放弃了

创世魂 发表于 2026-1-5 21:21:59

这个数据多了肯定会卡的。肯定要在多线程里面读。

仰望 发表于 2026-1-5 21:45:06

用仰望模块里的libxl库

niuyanbo2021 发表于 2026-1-6 07:32:32

使用Libxl库速度超级快

niuyanbo2021 发表于 2026-1-6 07:34:07

还有一种方法如下,但不知道在火山视窗里如何实现:
Sub 快速填充数据()
   Dim arr(1 To 10000, 1 To 50) As Variant
   Dim i As Long, j As Long

   ' 生成数据到数组
   For i = 1 To 10000
         For j = 1 To 50
             arr(i, j) = "数据" & i & "-" & j
         Next j
   Next i

   ' 一次性写入Excel
   Range("A1").Resize(10000, 50).Value = arr
End Sub

arlonshen 发表于 2026-1-6 09:03:55

还有一个最快方法用 锐浪报表

niuyanbo2021 发表于 2026-1-6 10:46:03

创世魂 发表于 2026-1-5 21:21
这个数据多了肯定会卡的。肯定要在多线程里面读。

魂哥,提个建议哦。
不少官方的库和示例,还经不起商业应用的考验,这个需要怎么做就不用多说了吧。

rinipp 发表于 2026-1-8 12:45:28

有个函数是横向或者竖向读,速度非常快。

Snail 发表于 2026-1-22 20:35:28

niuyanbo2021 发表于 2026-1-6 07:34
还有一种方法如下,但不知道在火山视窗里如何实现:
Sub 快速填充数据()
   Dim arr(1 To 10000, 1 To 50 ...

这是二维数组变体,因为很少用到,所以火山中并没有实现二维数组变体的创建,可以手动自己创建

一帆风 发表于 2026-1-22 23:31:57

arlonshen 发表于 2026-1-6 09:03
还有一个最快方法用 锐浪报表

看来你是懂锐浪的
页: [1]
查看完整版本: excel问题请教