【发布时间】:2021-10-16 02:39:09
【问题描述】:
我正在使用 XLWorkBook (Closed.XML) 打开 Excel 文件。但是,对于大文件,我可能想要中止加载并转换为 .csv、SQL 或 Access 以进行输入。因此,有没有办法中止加载过程?下面的代码中提到了进程挂起非常大的文件所在的行。
Dim workbook = New XLWorkbook(filename)
Dim rows = workbook.Worksheet(1).RangeUsed().RowsUsed() 'large files hang here
Dim cols = workbook.Worksheet(1).RangeUsed().ColumnsUsed()
【问题讨论】:
-
如果您有多种输入类型,为什么不总是从 SQL 加载?
-
你用
rows做什么?重要吗? -
@Magnetron:用户可能没有 SQL 输入。
-
@Caius Jard:需要 #rows 和 #cols 来确定数组的维度。有没有办法将 XLWorkBook 填充到 DataTable 中,然后从中提取#rows、#cols?
-
Erm .. 这有点暗示将它加载到内存中一次(关闭的 xml 可能会这样做?)你再次加载它(转移到另一个基于内存的设备),如果这是超时然后电子表格可能很大?这些数据的目的地是什么?它可以流式传输到那里吗?