April 20 2010 • 11:05 AM

Easier import of complex Excel spreadsheets

Imagine you have a large Excel spreadsheet, and you need to import sections of the spreadsheet into InDesign as separate tables. Rather than saving multiple copies of the spreadsheet, each containing the specific fragment you need, or laboriously copy and pasting into InDesign, there’s a better way.

When you choose File > Place and click the “Show Import Options” button, the dialog below appears. Normally, you’d have to use a “Cell Range” such as B6:F18 to designate which of the cells in the larger spreadsheet you want to import. But finding and remembering those coordinates can drive you batty.

A better way is to use a “named range”. In Excel, just select the cells that you want to place into InDesign, and then choose Insert > Name > Define (Mac Excel 2008) or right-click and choose Name a Range (Windows Excel 2007). Then type a name for the range and click the OK button. You can have as many different named ranges as you want in a single spreadsheet.

Then, in InDesign, choose File > Place and click Show Import Options. In the “Cell Range” drop down list you will see each of your named ranges, ready to place in your layout.

One caveat: InDesign can place spreadsheets saved in either the new .xlsx format, or the older .xls format. But named ranges will only appear in InDesign if you save the file in the older .xls format.

14 Responses discussing this post. Add yours below.

  1. April 20th, 2010 • 3:39 pm • Link

    Great post! And definitely a time saver for most spreadsheets. In addition to using the Insert menu, you can name a selection in Excel also by just entering a name in the Name field of the Formula Bar at the top & hitting Return/Enter.

    I just wish InDesign would support Name Ranges that are made up of non-consecutive row or columns. Those names don’t even appear in the Import Options dropdown menu.

  2. April 21st, 2010 • 6:24 am • Link

    That is really interesting.

    Can you achieve a similar result by using views in Excel?

  3. Keith Gilbert
    April 21st, 2010 • 8:01 am • Link

    Fritz, Views are different than Ranges, but are also useful in InDesign.

    For example, one of the things that “named views” are useful for in Excel is that you can hide certain rows/columns, and then save that as a view. Then, when you place the spreadsheet, you can either choose a named view or ignore the view. This can be used in conjunction with Named Ranges.

    So for example, I could hide some rows in the middle of a spreadsheet, and then save that as a View. Then I could also create one or more named Ranges. Then I would unhide the rows before I save the file. Then when I place the spreadsheet, I can ignore the view if I want to see all the rows, or select the named view if I want the rows hidden. In addition, I can select a named Range of cells regardless of which view I’ve chosen.

    This also provides a way to bring non-consecutive rows or columns into InDesign as Anne-Marie was asking for.

  4. April 21st, 2010 • 8:09 am • Link

    Wow … must try this out! Thanks Keith.

  5. Jennie
    April 21st, 2010 • 9:20 am • Link

    Great information!!!!

  6. April 21st, 2010 • 10:14 am • Link

    @Keith – I smell a followup blog post…

  7. April 28th, 2010 • 4:53 am • Link

    Thanks. I live on Excel spreadsheets. And just like the ink tip, every little bit helps.

    Ed

  8. Steve H.
    August 19th, 2010 • 5:46 am • Link

    Is there any way to change the name of the target range for an area of ‘place linked’ information once the link has been created?

  9. Keith Gilbert
    August 19th, 2010 • 6:14 am • Link

    @Steve H.: I don’t know of any way to change the name of the target range once a spreadsheet has been placed in InDesign with the “create links” preference chosen so that a link is created to the spreadsheet file. I think this could be done with a script though. Can you tell me a little bit more about what you are trying to accomplish?

  10. Steve H.
    August 21st, 2010 • 5:02 am • Link

    We have a item we have placed with a target range of A1:B2. We want to replicate the item with a copy\paste and then change the target of the new item to A5:b6. Thanks.

  11. Richard H.
    October 26th, 2010 • 12:45 pm • Link

    Apparently I can only use my Excel Named Ranges for the first sheet in excel. This is a problem as i have a workbook with many sheets and different named ranges on each.

    When i switch the sheet in the ID excel import options box none of my named ranges show up. They all show up when it is selected as the first sheet, but it takes that range from the first sheet then, not the sheet the range was actually designed for.

    I have tried defining the ranges as both local to the sheet and global to the whole workbook in Excel but same story, apparently only named ranges for the first sheet actually work.

    Makes importing tables super annoying when you have to manually put in the coordinates for the ranges. Is this a bug?

  12. Denis13th
    November 5th, 2010 • 11:00 am • Link

    Seems that Excel import process (filter) in CS5 is not capable doing anything more complex than linking a coupel of named ranges from the first worksheet. Namely, it doesn’t support .xslm (macro-enabled) Excel 2007 – 2010 files, it doesn’t see named ranges in .xlsx (Excel 2007-2010 format), it replaces all linked ranges with the same range but from the first worksheet (.xls Excel 2003 format) from time to time. Sigh…

  13. February 11th, 2011 • 1:20 am • Link

    Don’t forget, you can link the files too (Preferences Panel), then if the data changes it can be updated automatically.
    Unfortunately, any formatting you have done, is lost. However, if you have made table styles, it is easy to reapply.

  14. Mark
    November 14th, 2011 • 7:28 am • Link

    @Olwen Bruce, if you lay-out the table with cell styles, and you place them in a linked text frame they will keep the style.

    eg. drag a new text box, place the Excel table (make sure you have checked the ‘link documents’ box in prefs). Now cut the entire box, and paste them into the text-box that you want it on the page.

    No idea why Adobe makes a run around…

Subscribe to the Discussion

Get the ongoing discussion surrounding "Easier import of complex Excel spreadsheets" delivered to you. Click here to subscribe via RSS.

Leave a Reply

You can use limited HTML tags, such as <em></em> for emphasis/italics and <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .

InDesignSecrets reserves the right to edit and/or remove posts and comments.