Roland000 wrote:
I understand this only works via a CSV file format.
Hi R,
CSV is not the only way. An AppleScript can sometimes be very efficient in transferring data between apps on the Mac. (No scripting knowledge needed to use; just copy-paste. You'll know within a minute or so whether this solution will work for you).
For example if you have the following table in Numbers...

The script below will import this into Contacts, preserving the line returns.

To use, just:
- Copy-paste script into Script Editor (in Applications > Utilities)
- Click in Numbers table containing the addresses
- Click the triangle "run" button in Script Editor.
(If "nothing happens" the first time make sure Script Editor.app is checked at System Preferences > Security & Privacy > Privacy > Accessibility).
Best to test using a small table first to make sure it is doing what you want. If you give some details on your data and what you want the results to look like in Contacts (whether you want the addresses to be "Personal" or "Work" rather than "Other" etc., whether you have additional columns, etc) this can be customized without much trouble.
SG
-- 5-column table - First, Last, Phone, Street, City - one Header Row
tell application "Numbers"
tell front document's active sheet
tell (first table whose selection range's class is range)
set vv to (rows 2 thru -1 whose first cell's value is not missing value)'s cells's value
end tell
end tell
end tell
repeat with i in vv's items
my addToContacts(i's first item, i's second item, i's third item, i's fourth item, i's fifth item)
end repeat
to addToContacts(firstName, lastName, phoneNum, theStreet, theCity)
tell application "Contacts"
set thePerson to ¬
makenewpersonwith properties {first name:firstName, last name:lastName}
tell thePerson
makenewphoneat end of phoneswith properties {value:phoneNum}
makenewaddressat end of addresseswith properties {street:theStreet, city:theCity}
end tell
save
end tell
end addToContacts