我在Access中有一个表我导出到Excel,并且我使用VBA代码导出(因为我实际上每创建一个单独的Excel文件时, 150个文件)。不幸的是,当我使用DoCmd.TransferSpreadsheet执行此操作时,我失去了前导零。我能够通过循环遍历记录并逐个写入每个单元格(并在写入之前格式化单元格)来解决此问题。不幸的是,这导致了8小时的运行时间。使用DoCmd.TransferSpreadsheet,它运行一个小时(但是然后我失去了前导零)。有没有什么办法可以告诉Excel在使用TransferSpreadsheet命令时将每个单元格作为文本对待?任何人都可以想到另一种方法来做到这一点,不需要8个小时?谢谢!从Access导出数据到Excel而不丢失前导零
1
A
回答
1
用撇号(')字符作为Excel值的前缀。撇号告诉Excel将数据视为“文本”。
如;
0001 'Excel treats as number and strips leading zeros
成为
'0001 'Excel treats as text
您可能需要创建一个表达式字段与撇号前缀的字段,如;
SELECT "'" & [FIELD] FROM [TABLE]
0
如果你:
- 在你的源表,更改列类型为字符串。
- 循环访问源表并向该字段添加“x”。
如果Excel数据旨在被人读取,您可以获得创意,如隐藏数据列,添加引用数据列的“显示”列,但删除“x” 。
1
作为我的其他建议的替代方法,您是否玩过Excel的“导入外部数据”命令?使用Access VBA,您可以遍历客户端,打开模板Excel文件,以您的客户端作为条件导入数据(即拉取而非推送),并为每个客户端保存唯一的名称。
相关问题
- 1. PHP Excel导出丢弃前导零
- 2. 快速丢失前导零
- 3. 导出GridView到Excel而不会丢失Excel中的网格线
- 4. 从Access导出到Excel
- 5. 丢失数据从Excel导入后
- 6. 将SQL数据导出到Excel而不丢失电话号码中的0
- 7. 从Excel导入数据到Access
- 8. 从Access表导入数据到Excel表
- 9. SQL导入向导丢弃前导零
- 10. 将HTML导出为Excel而不丢失格式
- 11. 从数据集导出数据到excel
- 12. 导入和导出向导 - 数据源 - 有丢失的选项excel
- 13. 将数据从Access 2010导出到Excel 2013
- 14. 将Excel数据导入Access
- 15. Access中导入Excel数据
- 16. Parse.com导出的数据丢失_Schema
- 17. Devexpress ASPxGridViewExporter将不会导出前导零
- 18. vb.net导出datagrid为excel某些列数据格式丢失
- 19. 数据导出到Excel
- 20. 导出数据到Excel
- 21. 将数据导出到Excel
- 22. 将数据导出到excel
- 23. Excel,OleDb和前导零
- 24. 从datagrid导出数据到MS Excel
- 25. 从gams导出数据到excel
- 26. 从java导出数据到excel
- 27. 将数据从jira导出到Excel中
- 28. 将数据从CRM 4.0导出到Excel
- 29. 导出数据从SQL Server到Excel
- 30. 从excel导出数据到mysql
对不起,延迟接受 - 我想我已经完成该项目提交时间。这当然好像它会工作 - 我知道我不想改变表中的数据,但我可以很容易地创建一个查询(就像你建议的),然后在查询中使用DoCmd.TransferSpreadsheet。我也不想追加一个'x'(这是另一张海报推荐的)b/c我不想在Excel中操作数据,所以这个撇号是一个很好的建议。感谢您的意见。 – rryanp 2012-06-06 14:56:00