How to Insert a PDF into Excel: 7 Methods That Work (2026)
Attaching a contract, an invoice, or a scanned report to a spreadsheet sounds like it should take one click, and in Microsoft Excel it almost does. The fastest way to insert a PDF into Excel is the Object command on the Insert tab. Open Excel, click the cell where the PDF file should sit, then go to Insert > Text > Object > Create from File > Browse, select the document, tick Display as icon, and click OK. The PDF is now stored inside the Excel spreadsheet and opens in the default reader on a double-click.
That single route covers most everyday situations, and each variation suits a different job. Embedding a copy makes the workbook self-contained and easy to email. Linking keeps the Excel document small and always current. Pasting a page as a picture keeps the content visible on the Excel sheet without any double-click at all. Readers who work with Excel data regularly will find the same Insert tab logic behind related tasks such as converting a text file into a spreadsheet and grouping columns to keep a busy sheet readable.
Below are seven ways to get a PDF into a worksheet, plus a troubleshooting section for the errors that show up most often. Anyone building spreadsheets that share information across a team will also want a plan for merging and centering header rows so the attachment column stays labelled clearly.
Method 1: Insert PDF Files with the Object Command
This is the standard approach and the one to reach for first.
- Select the cell where the PDF should appear.
- Open the Insert tab on the ribbon.
- In the Text group, click Object. On narrow screens, the Text group collapses into a drop-down menu, so click Text first, then Object.
- Switch to the Create from File tab.
- Click Browse, locate the PDF document on the computer, and click Insert.
- Tick Display as icon. Leave Link to file unticked.
- Click OK.
The PDF now lives inside the .XLSX file. Anyone who receives the workbook receives the document with it, with no shared drive or network path required. Click Change Icon in the same dialog to edit the caption so it reads "Invoice 4471" rather than a raw filename, and add a cell comment beside it if the attachment needs context.
Skipping the Display as icon checkbox produces a different result. Excel renders the first page of the PDF as a preview tile on the sheet and ignores every page after it. That preview works for a one-page certificate and misleads on a fifty-page report, which is why the icon option is the safer default. The same Object dialog exists in Microsoft Word, so the habit transfers across both applications.
Method 2: Link to the PDF Instead of Embedding It
Embed PDF files this way and the entire document is copied into the workbook, so a 20 MB brochure adds 20 MB to the Excel file. Linking avoids that.
Follow the above steps, but tick both Link to file and Display as icon before clicking OK. Excel stores a pointer to the original rather than a copy. Update the PDF on disk and the link opens the current version automatically.
Linking works only while the file path stays reachable. Store the PDF on a shared network drive, SharePoint, or OneDrive rather than the local Desktop, otherwise, the user opening the workbook meets a broken link and has to download the document separately.

Method 3: Insert a PDF Page as a Picture
For a signature block, a chart, or a single page form that needs to stay visible, an image beats an embedded object. Two methods work here.
- Open the PDF in any reader, save the page as PNG or JPG, then use Insert > Illustrations > Pictures > This Device in Excel.
- Alternatively, open the PDF on screen, switch to Excel, and use Insert > Illustrations > Screenshot. The drop-down menu lists every open window, so pick the reader and drop the capture straight onto the Excel sheet.
Use Screenshot > Screen Clipping to grab part of a page only. Pictures print, display in the browser, and take normal image formatting, so it is easy to resize them or drag them alongside charts and graphs. The trade-off is that the text becomes an image and stops being searchable.

Method 4: Add a Hyperlink to the PDF
The lightest option of all adds no file weight to the workbook.
- Select a cell and press Ctrl + K, or right click and choose Link from the shortcut menu.
- Choose Existing File or Web Page.
- Browse to the PDF, or paste a SharePoint or cloud URL into the Address text box.
- Type friendly wording in the Text to display field, such as "Open PDF agreement".
- Click OK.
This method suits tracking sheets that reference dozens of documents, where embedding every file would push the workbook past mail server size limits. Combine it with a status column and the sheet becomes a lightweight document register that anyone can access.
Method 5: Import PDF Tables with Power Query
Many people searching for this task want the numbers inside the grid rather than the file attached to it. Excel for Microsoft 365 and Excel 2021 convert PDF tables into rows natively, with no separate PDF to Excel converter involved.
- Go to Data > Get Data > From File > From PDF.
- Select the file and click Import.
- The Navigator pane lists every table and page the Excel program detected. Tick the ones needed and use the preview to confirm.
- Click Load to drop the data onto a sheet, or Transform Data to clean headers and data types in Power Query first.
Refreshing the query re-reads the source file, which makes this the right choice for a monthly statement that arrives in the same layout every time. Once the figures land in the grid, they behave like any other data set, ready for percentage change calculations and pivot tables.
Method 6: Copy and Paste Content Directly
For a quick one-off, open the PDF, select the text or table, press Ctrl + C, then in Excel use Home > Paste > Paste Special.
- Text pastes editable content that usually needs splitting with Data > Text to Columns.
- Picture (Enhanced Metafile) pastes a clean visual snapshot.
Copy and paste tends to scramble multi-column layouts, so treat Power Query as the primary route for anything structured and keep pasting for short extracts. Conversion accuracy drops sharply once a table spans several columns.
Method 7: Attach Several PDFs with a Macro
Attaching one document at a time becomes tedious past about ten files. A short macro handles a whole folder in one process.
Press Alt + F11 to open the VBA editor, choose Insert > Module, and then paste:
Sub AttachPdfFolder()
Dim folderPath As String, fileName As String
Dim r As Long
folderPath = "C:\Invoices\"
fileName = Dir(folderPath & "*.pdf")
r = 2
Do While fileName <> ""
ActiveSheet.OLEObjects.Add _
FileName:=folderPath & fileName, _
Link:=False, _
DisplayAsIcon:=True, _
IconLabel:=fileName, _
Left:=Cells(r, 2).Left, _
Top:=Cells(r, 2).Top
Cells(r, 1).Value = fileName
r = r + 1
fileName = Dir
Loop
End Sub
Run it with F5. Each PDF in the folder is embedded as an icon in column B with its name in column A. Save the workbook as .XLSM afterwards, since standard .XLSX files discard macros.
Common Issues and Troubleshooting
"Cannot insert object" error when clicking OK. Excel needs a program registered to handle PDF files as an OLE object. Microsoft Edge, the default viewer on most Windows machines, skips that registration. Installing Adobe Acrobat Reader and setting it as the default PDF software resolves it in nearly every case.
The icon appears and double click does nothing. The same registration issue applies, or the sheet is protected. Check Review > Unprotect Sheet first.
Only the first page is visible: That is expected behaviour for a PDF in Excel when Display as icon is left unticked. Delete the object and reinsert it with the icon option on.
The icon floats away when rows are sorted or filtered: Right-click the icon, choose Format Object > Properties, and select Move and size with cells. Objects sit on a drawing layer above the grid rather than inside a cell, so this setting is what ties them to a location. The same tab lets you resize the icon without distorting it.
The icon does not print - In the same Properties tab, tick Print object.
The workbook has become huge - Excel embedding stores each document in full. Switch to Method 2 or Method 4 for large files, or compress the PDFs before inserting them.
Excel Online and Excel for Mac behave differently. Excel Online displays existing embedded objects and blocks new insertions, and Excel for Mac supports embedding while offering no From PDF option in Power Query. Do the insertion work in Excel for Windows when several platforms are in play.
Power Query returns no tables. Scanned files contain images rather than text. Running OCR first gives Power Query something to read, and conversion results improve immediately.
Saving to CSV loses everything: CSV holds plain text only. Keep the file as .XLSX or .XLSM.
Dragging the file onto the sheet does nothing useful: Excel treats a drag and drop from File Explorer as a request to open that file, so use the Object dialog instead.
Automating the Task with IronXL
Teams that assemble the same workbook every week usually want the attachment step handled by a script rather than by hand. IronXL is a .NET library that reads, writes, and edits Excel files with no Office install on the machine, which suits servers and scheduled jobs.
The pattern below builds a document register in code: a labelled hyperlink to each file plus a rendered preview image dropped onto the sheet.
using IronXL;
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Documents");
sheet["A1"].Value = "Document";
sheet["B1"].Value = "Link";
sheet["A2"].Value = "Q3 Supplier Agreement";
sheet["B2"].Value = "Open PDF";
sheet["B2"].Hyperlink = "https://example.com/docs/q3-agreement.pdf";
// Drop a rendered page image onto the sheet
sheet.InsertImage("q3-agreement-page1.png", 4, 1, 14, 6);
workbook.SaveAs("document-register.xlsx");
using IronXL;
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Documents");
sheet["A1"].Value = "Document";
sheet["B1"].Value = "Link";
sheet["A2"].Value = "Q3 Supplier Agreement";
sheet["B2"].Value = "Open PDF";
sheet["B2"].Hyperlink = "https://example.com/docs/q3-agreement.pdf";
// Drop a rendered page image onto the sheet
sheet.InsertImage("q3-agreement-page1.png", 4, 1, 14, 6);
workbook.SaveAs("document-register.xlsx");
Imports IronXL
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim sheet As WorkSheet = workbook.CreateWorkSheet("Documents")
sheet("A1").Value = "Document"
sheet("B1").Value = "Link"
sheet("A2").Value = "Q3 Supplier Agreement"
sheet("B2").Value = "Open PDF"
sheet("B2").Hyperlink = "https://example.com/docs/q3-agreement.pdf"
' Drop a rendered page image onto the sheet
sheet.InsertImage("q3-agreement-page1.png", 4, 1, 14, 6)
workbook.SaveAs("document-register.xlsx")
The same approach scales to hundreds of rows inside a loop, which is where the manual ribbon tools stop being practical. Pair it with IronPDF when the preview images have to be generated from the source documents first.
Wrapping Up
Choosing between these methods comes down to one question: does the PDF need to travel with the workbook, or simply be reachable from it? Embedding through Insert > Object wins for self-contained files that get emailed around. Linking and hyperlinks win for large documents kept on a shared drive. Power Query wins whenever the goal is the data. Pictures win when the content has to stay visible on screen next to the charts and graphs.
For more detail on the surrounding tasks, the same Excel tools stream covers calculating percentage increase and removing data validation rules. Developers who would rather create these workbooks programmatically can start with the IronXL documentation and free trial.




