我有一个类似的性能问题,即从访问 excel 缓慢导出,通过设置单个单元格值循环将数据导出到 MS Excel:
objSheet.Cells(table_1_row_no + intcounter, table_1_colA_col_no) = table_1_array(intcounter, 0)
但是我的数据来自一个数组,并且需要在将其传输到那里后在 excel 中进行处理,因此我需要在传输数据后使用一个打开的工作表。因此,上述帖子中提到的方法都不是非常合适的。
我有一个从数据库中提取数据的 MS 访问应用程序,在将 vba 中的数据放入 Excel 之前,它会对其进行相当多的处理。因此,要传输的数据是数组而不是记录集。将其返回到记录集以允许使用 .CopyFromRecordset 方法的最简单方法是创建一个临时表和记录集,但除非没有更好的办法,否则这会导致一条相当长的路径下降。
在 Access 取回结果之前,电子表格会进行冗长的计算。我很想把它留在 excel 中,因为这让工程师可以灵活地使用它来根据不同情况进行调整(环境受到控制,因此无需担心未经授权的更改)。因此,仅删除 csv 或 excel 文件而不打开它的选项也不适合。
任何建议都非常感谢。