Як експортувати вибрані стовпці у файл CSV


24

Я хочу експортувати конкретну кількість стовпців із excel у файл .csv. У мене є близько 10 стовпців , як lname, fname, phone, address, emailі так далі. Що мені потрібно зробити, щоб експортувати лише певні стовпці, наприклад lname, emailтощо?

Відповіді:


23

Просто робіть простим способом: -

  1. Застосувати конкатенацію для 10 стовпців

    =CONCATENATE(A1,",",B1,",",C1,",",D1,",",E1,",",F1,",",G1,",",H1,",",I1,",",J1)
    
  2. Перетягніть кінець списку останнього рядка

  3. Скопіюйте стовпчик результатів
  4. Вставте його в блокнот
  5. Збережіть його як .csvформат файлу

CONCATENATE працював для мене справді чудово. Велике спасибі.
Недім Шабіч

3
Просто ... якщо подвійну цитату можна знайти в жодній із ваших колонок ...
єпископ

Чи не потрібно розділяти з'єднані елементи крапкою з комою? = CONCATENATE (A1; ","; B1; ","; C1; ","; D1; ","; E1; ","; F1; ","; G1; ","; H1; "," ; I1; ","; J1)
mabho

9

Виберіть перший стовпець, який потрібно. Потім, утримуючи кнопку <Ctrl>, виберіть потрібні стовпці, що залишилися. Скопіюйте свій вибір і вставте його в нову робочу книжку. Збережіть нову робочу книгу у форматі .csv.

Якщо ви будете робити це часто, запишіть макрос своїх кроків. Ось макрос, записаний з мого тесту. У моєму прикладі стовпець A - Ім'я, а стовпець E - електронна пошта. Я також змінив макрос, щоб ім'я файлу SaveAs включало поточну дату.


Я збирався показати приклад макросу, але з будь-якої причини суперпользовательські помилки виключаються, коли натискаю кнопку "Зберегти зміни". Спробую пізніше.


4

Ось низькотехнологічне рішення:

  1. Збережіть копію всього листа у форматі .csv.
  2. Поки все ще відкрито в Excel, видаліть стовпці, які ви не хочете.
  3. Зберегти.

3

Я написав своє власне рішення VBA для цього як доповнення; він доступний тут, на GitHub.

Приклад перегляду (натисніть зображення для більшої версії):

Скріншот форми інструменту

Кроки до використання:

  • Встановіть надбудову
  • Завантажте форму ( Ctrl+ Shift+ Cнаразі призначено для показу форми)
  • Виділіть діапазон, який потрібно експортувати
  • Виберіть папку експорту
  • Введіть потрібне ім'я файлу, формат чисел та роздільник
  • Виберіть, чи потрібно додати чи перезаписати
  • Натисніть "Експорт"

Форма без режиму, тому ви можете залишати її відкритою під час вибору різних діапазонів або переходу від листа до аркуша чи робочої книги до робочої книги. Зауважимо, символ "at" ( @) слугує поданням формату номерів "Загальний" Excel для таких вихідних операцій.

Зміст C:\test.csvнаведеного вище прикладу:

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

Якщо ви відкриєте файл у редакторі Рона, ви можете приховати непотрібні стовпці, а потім експортуйте отриманий 'перегляд' у файл Excel або будь-який інший формат. Ще краще, ви можете зберегти вигляд для подальшого використання. Дуже швидко, дуже просто.


1

Ще одне рішення:

  1. Виберіть комірки, які потрібно експортувати
  2. Оберніть таблицю навколо комірок (наприклад, натисніть Control + T у Windows)
  3. Запустіть макрос ExportTable

Зберігає таблицю на активному аркуші як новий CSV (відкривши нову робочу книжку та зберігаючи звідти, використовуючи назву таблиці як назву файлу).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.