2015-06-12 103 views
2

我有創建csv郵件列表以供在Excel 2013中使用的代碼。我的問題是,當單擊csv在Excel中打開時,郵政編碼的前導零將被刪除。在CSV文件中包含前導零而不導入

在舊版本的Excel中,您可以添加單引號來表示該單元格應被視爲字符串,但在較新的版本中,包含單引號。我也試過雙引號,並且在單引號和雙引號中沒有運氣的地方附上郵政編碼。

我知道您可以將csv更改爲文本文件,然後手動將其導入到Excel中,將zip列設置爲文本列,但是我寧願讓最終用戶更容易。

有沒有辦法從Excel 2013中的CSV導入一個數字作爲字符串?

+1

csv文件*是*文本文件。作爲一個數字,'04441'與'4441'相同。如果你想讓excel知道主要的zeds,你必須確定它們存在於文件中。這意味着在你沒有顯示的代碼中以這種方式進行格式化。 – Plutonix

+2

這裏有一個解決方案http://stackoverflow.com/questions/165042/stop-excel-from-automatically-converting-certain-text-values-to-dates – Ceres

+0

@Cres - 我不得不尋找它作爲=「和「=」「不起作用。但是,如果我在數字的前面添加選項卡,則會將其識別爲文本而不打印可見字符。希望這不會搞砸郵件合併中的間隔,但它讓我更靠近一步。 – Tim

回答

2

編輯:正如上述意見所述,也有a solution on the exporting side


而不是隻打開該.csv文件與Excel,你有沒有嘗試過進口,使用數據>導入外部數據>從文本

Data Import Ribbon

在那裏,你將不得不選擇選擇專用的文字限定,可以是你的單引號'

Data Import Options 1

只要確保選擇文本作爲列類型該列需要前導零。

Data Import Options 2

這將是結果:

Data Import Result

對不起,德國截圖,但你住,你住的地方。 ;-)

+0

「我知道您可以將csv更改爲文本文件,然後將其手動導入到Excel中,並將zip列設置爲文本列,但是我希望讓最終用戶更容易。」 - 我想你錯過了那一點... – Psychemaster

+0

我明白「當csv被點擊以在Excel中打開」,試圖在Excel中打開一個.csv文件時,如果Excel是與.csv文件關聯的默認程序。 如果OP正在尋找一種通過代碼將數據傳輸到Excel工作表的程序化方法,我建議在解析內容之前將column/field數據類型設置爲「Text」。 – M463

+0

我知道這件事,提問者也是這樣。最後一部分更重要 - **我寧願讓最終用戶更容易** - 他們正在尋找一種方法來創建CSV文件,因此他們不必進行笨拙的導入。 – Psychemaster