Как скопировать таблицу данных из PDF-файла в Excel?

У меня есть таблица данных и мне нужно сделать это в Excel. Я нашел несколько веб-сайтов, которые предложили скопировать и вставить в MS Word, а затем использовать "преобразовать текст в таблицу", которая, к сожалению, не работает, поскольку столбцы входят с пробелом между ними, но если я выберу пробел в качестве разделителя столбцов, он разбивает столбцы, которые имеют несколько слов в них в разные столбцы.

есть ли лучший рекомендуемый способ получить таблицу из PDF-файла в Excel?

22
задан leora
03.12.2022 8:05 Количество просмотров материала 2996
Распечатать страницу

3 ответа

все это намного проще, чем указано в другом ответе.

в Acrobat / Reader выберите инструмент выбора текста и выведите таблицу в полный вид.

теперь нажмите Ctrl / Option и выберите таблицу. Вы заметите, что курсор. После завершения выбора можно скопировать и вставить в Excel.

1
отвечен Max Wyss 2022-12-04 15:53

Я хотел бы предложить вам код VBA, это перенести скопировать таблицу из PDF в Excel.

выполните ниже написанные действия.

  1. скопировать таблицу из файла PDF.
  2. вставить лист Excel в столбец.
  3. запустите код VBA.

Проверьте снимок экрана.

enter image description here

Private Sub CommandButton1_Click()
Dim xLRow As Long
    Dim xNRow As Long
    Dim i As Long
    Dim xUpdate As Boolean
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String

    On Error Resume Next

    xTxt = ActiveWindow.RangeSelection.Address

    Set xRg = 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: данные я использовал для тестирования кода 3 Столбец (значение красного цвета), так что С для шага цикла и изменить размер значение 3. Вы изменяете согласно вашей структуре данных.

надеюсь, это поможет вам.

0
отвечен Rajesh S 2022-12-04 18:10

немного поздно на вечеринку, но в пользу тех, кто находит это через Google:

есть много бесплатных веб-сервисов, которые можно использовать для этого вместо того, чтобы бороться с скопировать вставить через Слово и т. д. Выбор правильного сервиса зависит от вашего PDF и потребностей.

является ли весь файл таблицей, и вы хотите преобразовать все это? -> Попробовать https://smallpdf.com/pdf-to-excel

есть ли отдельные таблицы, например, на странице с большим количеством другого текста, вы хотите сделать копию? -> Попробовать https://tabellopdf.com

является ли ваш PDF отсканированным файлом (т. е. фактически это изображение, сохраненное в формате PDF)? -> Попробовать https://www.pdftoexcel.com/

0
отвечен David 2022-12-04 20:27

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх