Cara mengekspor kolom yang dipilih ke file csv


24

Saya ingin mengekspor jumlah kolom tertentu dari excel ke file .csv. Saya memiliki sekitar 10 kolom seperti lname, fname, phone, address, emaildan sebagainya. Apa yang harus saya lakukan untuk mengekspor hanya kolom tertentu seperti lname, email, dan sebagainya?

Jawaban:


23

Lakukan dengan cara sederhana: -

  1. Terapkan penggabungan untuk 10 kolom

    =CONCATENATE(A1,",",B1,",",C1,",",D1,",",E1,",",F1,",",G1,",",H1,",",I1,",",J1)
    
  2. Seret ke bawah ujung daftar baris terakhir Anda

  3. Salin kolom hasil
  4. Rekatkan di notepad
  5. Simpan sebagai .csvformat file

CONCATENATE bekerja untuk saya benar-benar hebat. Terima kasih banyak.
Nedim Šabić

3
Sederhana ... kecuali kutipan ganda dapat ditemukan di salah satu kolom Anda ...
uskup

Tidakkah Anda harus memisahkan elemen yang disatukan dengan titik koma? = CONCATENATE (A1; ","; B1; ","; C1; ","; D1; ","; E1; ","; F1; ","; G1; ","; H1; "," ; I1; ","; J1)
mabho

9

Pilih kolom pertama yang Anda inginkan. Kemudian, sambil menahan <Ctrl>, pilih kolom yang Anda inginkan. Salin pilihan Anda dan rekatkan ke buku kerja baru. Simpan buku kerja baru sebagai file .csv.

Jika Anda akan sering melakukan ini, catat makro langkah Anda. Ini adalah makro yang direkam dari pengujian saya. Dalam contoh saya, kolom A adalah Nama dan kolom E adalah Email. Saya juga memodifikasi makro sehingga nama file SaveAs menyertakan tanggal saat ini.


Saya akan menunjukkan contoh makro, tetapi untuk alasan apa pun, superuser kesalahan ketika saya mengklik Simpan Pengeditan. Saya akan coba lagi nanti.


4

Inilah solusi berteknologi rendah:

  1. Simpan salinan seluruh lembar Anda sebagai .csv.
  2. Saat masih terbuka di Excel, hapus kolom yang tidak Anda inginkan.
  3. Menyimpan.

3

Saya menulis solusi VBA saya sendiri untuk ini sebagai tambahan; itu tersedia di sini di GitHub.

Contoh tampilan (klik gambar untuk versi yang lebih besar):

Cuplikan layar formulir alat

Langkah-langkah untuk digunakan adalah:

  • Pasang add-in
  • Muat formulir ( Ctrl+ Shift+ Csaat ini ditugaskan untuk menampilkan formulir)
  • Sorot rentang yang ingin Anda ekspor
  • Pilih folder ekspor
  • Masukkan nama file, format angka, dan pemisah yang diinginkan
  • Pilih apakah akan ditambahkan atau ditimpa
  • Klik 'Ekspor'

Formulir adalah modeless, jadi Anda bisa membiarkannya terbuka saat Anda memilih rentang yang berbeda atau menavigasi sheet-to-sheet atau workbook-to-workbook. Untuk diketahui, "at symbol" ( @) berfungsi sebagai representasi format angka 'Umum' Excel untuk operasi keluaran seperti ini.

Isi dari C:\test.csvcontoh di atas:

13,14,15
14,15,16
15,16,17

2
Sub ExportSelectionAsCSV()
    ' MS Excel 2007
    ' Visual Basic for Applications
    '
    ' Copies the selected rows & columns
    ' to a new Excel Workbook. Saves the new 
    ' Workbook as Comma Separated Value (text) file.
    '
    ' The active workbook (the 'invoking' workbook - the 
    ' one that is active when this subroutine is called) 
    ' is unaffected.
    '
    ' Before returning from the subroutine, the invoking workbook
    ' is "set back to" (restored as) the active workbook.
    '
    ' Note: target filename is hard coded (code is simpler that way)

    ' Suspends screen updating (until ready to return)
    ' Warning: ScreenUpdating MUST be re-enabled before
    ' returning from this subroutine.
    '
    ' Note: Step through this subroutine line-by-line to prove
    ' to yourself that it is performing as promised.
    ' (Please step through the code at least once - use F8)
    Application.ScreenUpdating = False

    ' Gets the name of *this (the invoking) workbook
    ' so *this workbook can again be set active
    ' at the end of this subroutine.
    Dim CurrentFileName As String
    CurrentFileName = ActiveWorkbook.Name
    Debug.Print "Active File: " + CurrentFileName

    ' Copies the selected cells (to the clipboard).
    ' Precondition: Cells must be selected before 
    ' calling this subroutine.
    Selection.Copy

    ' Instantiates a (new) object instance of type Excel workbook.
    ' Side-effect: The new workbook instance is now
    ' the 'active' workbook. 
    Workbooks.Add Template:="Workbook"

    ' Selects the first cell of the 
    ' first worksheet of the new workbook.
    Range("A1").Select

    ' Pastes the clipboard contents to the new worksheet
    ' (of the new workbook)
    ActiveSheet.Paste

    ' Writes the new (active) Excel workbook to file.
    ' The format is Comma Separated Value
    ActiveWorkbook.SaveAs Filename:= _
    "C:\temp\data.csv" _
    , FileFormat:=xlCSV, _
    CreateBackup:=False

    ' Gets the filename of the new (active) workbook
    ' so the name can be logged.
    Dim NewFileName As String
    NewFileName = ActiveWorkbook.Name
    Debug.Print "Active File: " + NewFileName

    ' Closes the new CSV file
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True

    ' Clears the clipboard contents.
    Application.CutCopyMode = False

    ' Restores the invoking workbook as the active
    ' Excel workbook. 
    Workbooks(CurrentFileName).Activate
    Range("A1").Select

    ' Re-Enables Excel screen display.
    Application.ScreenUpdating = True
End Sub


1

Jika Anda membuka file di Editor Ron, Anda dapat menyembunyikan kolom yang tidak Anda inginkan, lalu mengekspor 'tampilan' yang dihasilkan sebagai file Excel atau format lainnya. Lebih baik lagi Anda dapat menyimpan tampilan untuk digunakan di masa depan. Sangat cepat, sangat mudah.


1

Solusi lain:

  1. Pilih sel yang ingin Anda ekspor
  2. Bungkus meja di sekitar sel (mis., Tekan Control + T di Windows)
  3. Jalankan makro ExportTable

Menyimpan tabel di lembar aktif sebagai CSV baru (dengan membuka buku kerja baru dan menyimpannya dari sana, menggunakan nama tabel sebagai nama file).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.