Cách xuất các cột được chọn vào tệp csv


24

Tôi muốn xuất số lượng cột cụ thể từ excel vào tệp .csv. Tôi có khoảng 10 cột như lname, fname, phone, address, emailvà vân vân. Tôi nên làm gì để chỉ xuất một số cột nhất định như lname, emailv.v.

Câu trả lời:


23

Chỉ cần làm theo cách đơn giản: -

  1. Áp dụng nối cho 10 cột

    =CONCATENATE(A1,",",B1,",",C1,",",D1,",",E1,",",F1,",",G1,",",H1,",",I1,",",J1)
    
  2. Kéo xuống danh sách cuối hàng cuối cùng của bạn

  3. Sao chép cột kết quả
  4. Dán nó vào notepad
  5. Lưu nó dưới .csvđịnh dạng tệp

CONCATENATE làm việc cho tôi thực sự tuyệt vời. Cảm ơn nhiều.
Nedim abić

3
Đơn giản ... trừ khi có thể tìm thấy một trích dẫn kép trong bất kỳ cột nào của bạn ...
giám mục

Bạn không phải phân tách các yếu tố nối với dấu chấm phẩy? = CONCATENATE (A1; ","; B1; ","; C1; ","; D1; ","; E1; ","; F1; ","; G1; ","; H1; "," ; I1; ","; J1)
mabho

9

Chọn cột đầu tiên bạn muốn. Sau đó, trong khi giữ <Ctrl>, chọn các cột còn lại bạn muốn. Sao chép lựa chọn của bạn và dán nó vào một bảng tính mới. Lưu sổ làm việc mới dưới dạng tệp .csv.

Nếu bạn sẽ làm điều này thường xuyên, hãy ghi lại một macro các bước của bạn. Đây là macro được ghi lại từ thử nghiệm của tôi. Trong ví dụ của tôi, cột A là Tên và cột E là Email. Tôi cũng đã sửa đổi macro để tên tệp SaveAs bao gồm ngày hiện tại.


Tôi sẽ hiển thị một macro ví dụ, nhưng vì bất kỳ lý do gì, superuser lỗi khi tôi nhấp vào Lưu Chỉnh sửa. Tôi sẽ thử lại sau.


4

Đây là một giải pháp công nghệ thấp:

  1. Lưu một bản sao của toàn bộ trang tính của bạn dưới dạng .csv.
  2. Trong khi vẫn mở trong Excel, hãy xóa các cột bạn không muốn.
  3. Tiết kiệm.

3

Tôi đã viết giải pháp VBA của riêng mình cho vấn đề này như là một bổ trợ; nó có sẵn ở đây trên GitHub.

Chế độ xem ví dụ (nhấp vào hình ảnh cho phiên bản lớn hơn):

Ảnh chụp màn hình của mẫu công cụ

Các bước để sử dụng là:

  • Cài đặt bổ trợ
  • Tải biểu mẫu ( Ctrl+ Shift+ Chiện được chỉ định để hiển thị biểu mẫu)
  • Làm nổi bật phạm vi bạn muốn xuất
  • Chọn thư mục xuất
  • Nhập tên tệp, định dạng số và dấu phân cách mong muốn
  • Chọn xem thêm hoặc ghi đè
  • Nhấp vào 'Xuất'

Biểu mẫu không có chế độ, vì vậy bạn có thể để nó mở trong khi bạn chọn các phạm vi khác nhau hoặc điều hướng từ trang này sang trang khác hoặc sổ làm việc. Để lưu ý, "tại biểu tượng" ( @) đóng vai trò đại diện cho định dạng số 'Chung' của Excel cho các hoạt động đầu ra như thế này.

Nội dung C:\test.csvtừ ví dụ trên:

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

Nếu bạn mở tệp trong Trình soạn thảo của Ron, bạn có thể ẩn các cột bạn không muốn, sau đó xuất kết quả 'xem' dưới dạng tệp Excel hoặc bất kỳ định dạng nào khác. Tốt hơn nữa bạn có thể lưu chế độ xem để sử dụng trong tương lai. Rất nhanh chóng, rất dễ dàng.


1

Một giải pháp khác:

  1. Chọn các ô bạn muốn xuất
  2. Bao quanh một bảng xung quanh các ô (ví dụ: nhấn Control + T trên Windows)
  3. Chạy macro ExportTable

Lưu bảng trên trang hoạt động dưới dạng CSV mới (bằng cách mở sổ làm việc mới và lưu từ đó, sử dụng tên bảng làm tên tệp).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.