我在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