VBA Access – > Excel输出:文件大小从3mb到20mb的BALLOON,为什么?

我正在完成一个程序,我build立一个Excel导入到数据库,做一些操作/编辑,然后吐出编辑的Excel。 除了我的问题是,文件大小只是从大约3mb到〜19mb大量膨胀。

它有相同的logging数~20K。 它还有3列(共40列以上) – 但不应该使文件大小x6,如果它? 以下是我用于输出的代码:

DoCmd.OutputTo acOutputQuery, "Q_Export", acFormatXLS, txtFilePath & txtFileName 

任何想法如何让文件大小多一点下来? 或者至less有人有可能指示什么是做的?

有三个可能的原因,立即想到; 1)您正在导入比您想象的更多的logging。 Excel文件导入后检查表格。 确保表中的数据与Excel中的数据行数一样多。 通常,导入过程会带来许多空的logging,然后将数据导出为空string。 对你来说,它看起来是一样的,但是对于Excel而言,它是必须存储的信息,占用空间。

2)Excel处理NULL值与Access不同。 如果你的数据有很多缺失的信息,那么当它被导入到Access时,它将被以不同的方式存储。 这实际上使我们回到理性#1。

3)当你导入数据时,有时会出现尾随空格。 确保在导出之前TRIM()您的数据,以摆脱正在使用的任何潜在存储空间。