Como posso copiar uma tabela de dados de um arquivo PDF para o Excel?

1

Eu tenho uma tabela de dados e preciso inseri-la no Excel. Eu encontrei alguns sites que sugeriam copiar e colar no MS Word e, em seguida, usar o "Converter texto em tabela", que infelizmente não funciona como as colunas vêm com um espaço entre eles, mas se eu escolher o espaço como o separador de coluna divide colunas que contêm várias palavras em colunas diferentes.

Existe uma maneira melhor recomendada de obter uma tabela de um arquivo PDF para o Excel?

    
por leora 28.01.2018 / 19:39

3 respostas

1

A coisa toda é muito mais simples do que o mencionado na outra resposta.

No Acrobat / Reader, escolha a ferramenta Seleção de texto e coloque sua tabela em exibição completa.

Agora pressione a tecla Ctrl / Option e selecione a tabela. Você notará que o cursor muda. Quando a seleção estiver completa, você pode copiar e colar no Excel.

    
por 09.03.2018 / 03:09
0

Gostaria de sugerir-lhe o código VBA, isto irá transpor a tabela de dados copiados do PDF para o Excel.

Siga as etapas abaixo escritas.

  1. Copiar dados da tabela do arquivo PDF.
  2. Cole na planilha do Excel em uma coluna.
  3. Execute o código do VBA.

Verifique a captura da tela.

PrivateSubCommandButton1_Click()DimxLRowAsLongDimxNRowAsLongDimiAsLongDimxUpdateAsBooleanDimxRgAsRangeDimxOutRgAsRangeDimxTxtAsStringOnErrorResumeNextxTxt=ActiveWindow.RangeSelection.AddressSetxRg=Application.InputBox("Select Data Range(only one column):", "Transpose to Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)

    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count > 1) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "Used range only contain one column", , "Transpose to Excel"
        Exit Sub
    End If

    Set xOutRg = Application.InputBox("Select output range(specify one cell):", "Transpose to Excel", xTxt, , , , , 8)

    If xOutRg Is Nothing Then Exit Sub

    Set xOutRg = xOutRg.Range(1)

    xUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xLRow = xRg.Rows.Count

    For i = 1 To xLRow Step 3
        xRg.Cells(i).Resize(3).Copy
        xOutRg.Offset(xNRow, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
        xNRow = xNRow + 1
    Next
    Application.ScreenUpdating = xUpdate

End Sub

NB: Os dados que usei para testar o código tem 3 colunas (RED Color Value), de modo que com For Loop Step & O valor de redimensionamento é 3. Você muda de acordo com sua estrutura de dados.

Espero que isso ajude você.

    
por 29.01.2018 / 10:16
0

Um pouco atrasado para a festa, mas para o benefício de qualquer um que encontrar isso via Google:

Existem inúmeros serviços web gratuitos que você pode usar para isso, em vez de se esforçar para copiar o texto via Word, etc. Escolher o serviço certo depende do PDF e das necessidades.

O arquivo inteiro é uma tabela e você quer converter tudo? - > Experimente o link

Existem tabelas individuais, por ex. em uma página com muitos outros textos, você quer copiar? - > Tente o link

O seu PDF é um arquivo digitalizado (por exemplo, é uma imagem salva como PDF)? - > Tente o link

    
por 04.08.2018 / 00:03