Saya telah mencari-cari sebentar sambil mencoba mencari cara untuk menghasilkan file CSV sedemikian rupa untuk memaksa Excel untuk menafsirkan nilai sebagai string dan tidak mencoba untuk mengubahnya menjadi angka atau tanggal.
misalnya:
"141", "10/11/2002", "350.00", "1311742251"
Excel mencoba untuk "secara cerdas" mengonversi semua ini ke format tanggal / angka aslinya. Apakah ada jalan keluarnya?
EDIT: Klarifikasi maksud pertanyaan saya, maaf atas kebingungan.
sumber
"=""123"""
tidak terbentuk dengan buruk. Fields yang mengandung a"
harus dibatasi dan"
s di field tersebut lolos dengan"
s lainnya .="123"
bukan bidang CSV yang valid karena berisi karakter pembatas bidang"
tanpa benar - benar membatasi atau bidang. Faktanya Excel kebetulan membacanya sebagai rumus murni terserah Excel dan tidak ada hubungannya dengan file CSV.Seperti banyak orang, saya telah berjuang dengan keputusan yang sama yang dibuat Microsoft dan mencoba berbagai solusi yang disarankan.
Untuk Excel 2007 berikut ini terjadi:
Namun:
Menempatkan tab di depan semua nilai sebelum menempatkan tanda kutip ganda di sekitarnya TIDAK MEMBUAT konversi ke tanggal DAN TIDAK mencegah pemangkasan dari nol mengarah atau tertinggal dan lembar bahkan tidak menunjukkan spidol peringatan buruk di sudut kiri atas setiap sel.
Misalnya:
Perhatikan bahwa karakter tab harus berada dalam tanda kutip ganda. Sunting: ternyata tanda kutip ganda bahkan tidak perlu.
Mengklik ganda file csv dapat membuka file sebagai spreadsheet di Excel yang menunjukkan semua nilai yang diperlakukan seperti di atas, seperti data teks. Pastikan untuk mengatur Excel untuk menggunakan '.' sebagai titik desimal dan bukan ',' atau setiap baris dari file csv akan berakhir sebagai satu teks di sel pertama dari setiap baris. Rupanya Microsoft berpikir bahwa CSV berarti "Bukan titik desimal" Nilai Terpisah.
sumber
Menggunakan fungsi impor Excel memungkinkan Anda untuk menentukan format (otomatis, teks atau tanggal) setiap kolom harus ditafsirkan sebagai dan tidak memerlukan modifikasi apa pun pada file data.
Anda dapat menemukannya sebagai
Data
→Get External Data
→From Text
di Excel 2007/2010.Atau
Data
→Import External Data
→Import Data
di Excel 2003.Berikut adalah gambar dari Panduan Impor Teks Excel 2003 beraksi pada contoh data yang diberikan, menunjukkan kepada saya mengimpor dua kolom terakhir sebagai teks:
sumber
Contoh dari Simon tidak bekerja untuk saya, dan saya kira itu perbedaan bahasa. Di C # di sini adalah tampilan string format kerja saya:
dan seperti inilah tampilan file output:
Seperti dapat dilihat, format dalam file output
="VALUE",
bukan"=""VALUE""",
yang saya percaya mungkin merupakan konvensi Visual Basic.Saya menggunakan Excel 2010. Kebetulan, Google Sheets tidak akan membuka / mengonversi file yang diformat dengan cara ini. Ini akan berfungsi jika Anda menghapus tanda sama dengan itu
"VALUE",
- Excel masih akan membuka file tetapi mengabaikan fakta bahwa Anda ingin kolom Anda menjadi string.sumber
Cara sederhana untuk memaksa Excel menafsirkan tanggal sebagai teks adalah dengan menempatkan tanda kutip tunggal di depan tanggal, alih-alih menggunakan kutipan penuh, seperti pada:
Jika Anda dapat mengimpor CSV alih-alih membukanya, Anda dapat memberi tahu Excel format apa yang harus dimiliki setiap kolom. Lihatlah pertanyaan yang saya ajukan ini .
sumber