Como exportar colunas selecionadas para o arquivo csv

20

Eu quero exportar um número específico de colunas do excel para o arquivo .csv. Eu tenho cerca de 10 colunas como lname , fname , phone , address , email e assim por diante. O que devo fazer para exportar apenas algumas colunas como lname , email e assim por diante?

    
por raul 27.03.2012 / 20:26

8 respostas

21

Basta fazer de maneira simples: -

  1. Aplicar concatenação para 10 colunas

    =CONCATENATE(A1,",",B1,",",C1,",",D1,",",E1,",",F1,",",G1,",",H1,",",I1,",",J1)
    
  2. Arraste o final da lista da sua última linha

  3. Copie a coluna de resultados
  4. Cole no bloco de notas
  5. Salve como .csv formato de arquivo
por 27.03.2012 / 21:02
9

Selecione a primeira coluna que você deseja. Em seguida, mantendo pressionada a tecla <Ctrl> , selecione as colunas restantes desejadas. Copie sua seleção e cole-a em uma nova pasta de trabalho. Salve a nova pasta de trabalho como um arquivo .csv.

Se você for fazer isso com frequência, grave uma macro de suas etapas. Aqui está a macro gravada do meu teste. No meu exemplo, a coluna A é Nome e a coluna E é Email. Também modifiquei a macro para que o nome do arquivo SaveAs inclua a data atual.

Eu mostraria uma macro de exemplo, mas por alguma razão, os erros de superusuário são excluídos quando clico em Salvar edições. Vou tentar novamente mais tarde.

    
por 28.03.2012 / 02:37
3

Aqui está uma solução de baixa tecnologia:

  1. Salve uma cópia da sua planilha inteira como .csv.
  2. Enquanto ainda estiver aberto no Excel, exclua as colunas que você não deseja.
  3. Salvar.
por 28.01.2016 / 21:50
3

Eu escrevi minha própria solução VBA para isso como um add-in; está disponível aqui no GitHub.

Exemplo de visualização (clique na imagem para aumentar):

Asetapasdeusosão:

  • Instale o suplemento
  • Carregue o formulário ( Ctrl + Deslocamento + C está atribuído atualmente para mostrar o formulário)
  • Realce o intervalo que você deseja exportar
  • Selecione a pasta de exportação
  • Insira o nome do arquivo, o formato numérico e o separador desejados
  • Escolha se deseja anexar ou sobrescrever
  • Clique em "Exportar"

O formulário é sem janela restrita, para que você possa deixá-lo aberto enquanto seleciona intervalos diferentes ou navega folha para folha ou pasta de trabalho para pasta de trabalho. Para observar, o "símbolo" ( @ ) serve como uma representação do formato numérico "Geral" do Excel para operações de saída como essa.

Conteúdo de C:\test.csv do exemplo acima:

13,14,15
14,15,16
15,16,17
    
por 28.01.2016 / 21:32
1

Você pode fazer isso facilmente com um script do PowerShell. Você pode usar a função Get-ExcelData neste snippet do PowerShell e canalizar os resultados por meio de Selecionar Objeto e finalmente Exportar -Csv .

    
por 27.03.2012 / 20:42
1

Se você abrir o arquivo em Editor do Ron , você pode ocultar as colunas que não deseja. em seguida, exporte a 'vista' resultante como um arquivo do Excel ou qualquer outro formato. Melhor ainda, você pode salvar a visão para uso futuro. Muito rápido, muito fácil.

    
por 07.12.2012 / 19:40
1

Ainda outra solução:

  1. Selecione as células que você deseja exportar
  2. Envolva uma tabela em torno das células (por exemplo, pressione Control + T no Windows)
  3. Execute a macro ExportTable

Salva a tabela na planilha ativa como um novo CSV (abrindo uma nova pasta de trabalho e salvando a partir dela, usando o nome da tabela como nome do arquivo).

    
por 27.10.2014 / 14:38
0
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
    
por 27.03.2015 / 22:39