Como colar dados do Excel como texto de largura fixa?

11

Se eu copiar dados no Excel e colá-los em um arquivo de texto, obtenho guias entre as células. Isso não é bom, quero espaços - e quero que as colunas sejam alinhadas. Como posso conseguir isso sem muito esforço (obviamente eu não quero começar a executar regexps manualmente?)

Usar 'Salvar como' (como em esta pergunta ) não é uma solução para mim, preciso copiar e colar .

    
por einpoklum 19.12.2012 / 13:52

3 respostas

11

Isso certamente não é simples de explicar ... mas depois de ser configurado, funcionará com o mínimo de esforço. Também esta é uma ligeira variação sobre o que @pnuts delineou

Sugiro usar uma planilha modelo para a qual você pode copiar e colar. o modelo que eu criei tem 3 guias que se parecem com o seguinte.

  • AguiaDataéondeosdadossãocolados
  • Lengthvaifazeralgumascontasparadeterminaracolunamaislonga
  • Spaceinsertvaiinserironúmeroapropriadodeespaços(edição)quevocêpodecopiardaquieobteroresultadocorreto

aguiadecomprimentoparece

A linha 1 tem o máximo de caracteres da coluna abaixo e contém a fórmula

=MAX(A2:A101)+1

+1 cria o delimitador.

A linha 2 até n (que estendi para 100 neste exemplo) contém uma fórmula para avaliar o tamanho de cada string

=LEN('Data tab'!A1)

a guia de inserção de espaço parece

Cadacélulacontémumacélulaparaavaliarocomprimentodesimesmoemcomparaçãocomovalormáximo(+delimitador)einserirumnúmeroapropriadodeespaços.

='Datatab'!A1&REPT(" ",length!A$1-length!A2)

Observe o $ que bloqueia a Linha 1 se você copiar e colar a fórmula

(edit) você pode copiar da guia de inserção de espaço.

    
por 21.12.2012 / 23:48
3

A solução mais fácil seria concatenar seus dados numéricos em uma string "comu- nicada" que seja colada corretamente em um arquivo de texto. Crie a fórmula do Excel para uma linha e, em seguida, copie-a para todas as linhas da planilha e copie a coluna de fórmula e cole-a no arquivo de texto. Por exemplo,

Dados

Célula A1: 247

Célula B1: 19

Célula C1: 1437

Fórmula na célula D1

= A1 & "," & B1 & "," & C1

Resultado Pastável por Texto

247,19,1437

Existe outra abordagem que não depende de fórmulas.

  • Primeiro, verifique se as colunas de dados são todas da mesma largura.
  • Em seguida, insira outra coluna entre cada par de colunas de dados, cada uma com uma largura de 2.
  • Insira uma única vírgula em cada uma das colunas inseridas, copiando-a ao longo do comprimento dos dados.
  • Por fim, salve a planilha como um arquivo de texto formatado (delimitado por espaço) (* .prn).

Um benefício dessa alternativa é preservar a formatação de seus dados. Se você deseja formatar os dados por vírgula ou apenas mostrar uma casa decimal, sua formatação será preservada no arquivo prn.

    
por 20.12.2012 / 10:41
0

Você pode copiar seus dados no Word e usar Localizar e substituir (Ctrl + H) para substituir as guias por espaços.

  1. Abra e cole dados no Word
  2. Pressione Ctrl + H
  3. Mais > >
  4. Especial
  5. Espaço em branco
  6. Coloque um espaço na substituição com:
  7. Substituir todos
por 15.04.2015 / 20:47