【发布时间】:2014-11-16 19:32:30
【问题描述】:
我正在 Visual Studio 中构建 Excel 加载项,并尝试将用户选择的数据范围写入文本文件。用户可以在 Windows 窗体上选择多个(可以是不连续的)范围。所选范围的地址存储在集合rangesCollection 中。到目前为止,我已经尝试遍历这些范围内的单元格,将单元格写入一个大字符串,最后将字符串写入 .txt 文件:
Dim writefile As New StreamWriter(filePath & "data.txt")dim sep, text, s as stringsep = ";"for each ref in rangesCollectionsrow = ""for each cell in Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet.range(ref.Text)srow = srow & cell.text & sepnext cells = s & vbCrLf & srownext refwritefile.write(s)writefile.close()
解决方案在稍微大一点的数据集上变得非常慢。例如,写入 3 列数据,每列长度约为 7500 个单元格,大约需要 15 秒。
谁能帮助我更快的解决方案?
【问题讨论】: