Trouble updating a JtextArea from a JTable ListSelectionListener..

Hi, I'm having trouble updating a JtextArea from a JTable ListSelectionListener, it is working for another JTextArea but I have created JNMTextArea which extends JTextArea and I am getting no data passed to it.
Any help is really greatly appreciated. Im a relative newbie to Java.
Here is the class declaration for JNMTextArea
public class JNMTextArea extends JTextArea
     //Constructor
     public JNMTextArea(String text){
          super(text);
          setLineWrap(true);
          setEditable(false);
     //Constructor
     public JNMTextArea()
          this(new String());
     //This sets the data in setText, works ok.
     void displayPacket(Packet p){
          //Function works fine
          //Need to pass this data to the JNMTextArea!!!
          setText(buffer.toString());
          setCaretPosition(0);
Here is where I use JNMTextArea, Im
class JNMGui extends JFrame implements ActionListener, WindowListener{
     public static JNMTextArea txtPktContent;
     //Constructor
          JNMGui(){
               buildGUI();
     private void buildGUI(){
     mainWindow = new JFrame("Monitor");
     tblPacket = new JTable(tblPacketM);
     tblPacket.setToolTipText("Packet Panel");
     tblPacket.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
     if (ALLOW_ROW_SELECTION) {
          ListSelectionModel rowSM = tblPacket.getSelectionModel();
          rowSM.addListSelectionListener(new ListSelectionListener() {                     public void valueChanged(ListSelectionEvent e) {
                    if (e.getValueIsAdjusting())
                         return;
                    ListSelectionModel lsm =      (ListSelectionModel)e.getSource();
                    if (lsm.isSelectionEmpty()) {
                         System.out.println("No rows are selected.");
                    else {
                         int selectedRow = lsm.getMinSelectionIndex();
                         selectedRow++;
                         String str;// = "";
                         //Unsure if I need to create this here!
                         txtPktContent = new JNMTextArea();
                         //This works perfectly
                         txtPktType.append ( "Packet No: " + Integer.toString(selectedRow) + "\n\n");
                         Packet pkt = new Packet();
                         pkt = (Packet) CaptureEngine.packets.elementAt(selectedRow);
                         if(pkt.datalink!=null && pkt.datalink instanceof EthernetPacket){
                              str = "Ethernet ";
                              //THis works txtPktType is another JTextArea!!          
                              txtPktType.append ( s );
                              //This is not working
                              //I realise displayPacket return type is void but how do get
                              //the setText it created to append to the JNMTextArea??               
                              txtPktContent.displayPacket(pkt);
          //Adding to ScrollPane
          tblPane = new JScrollPane(tblPacket);
          txtPktTypePane = new JScrollPane ( txtPktType );
          txtPktTypePane.setToolTipText("Packet Type");
          txtPktContentPane = new JScrollPane ( txtPktContent );
          txtPktContentPane.setToolTipText("Packet Payload");
          panel.add( tblPane, BorderLayout.CENTER );
//End Class JNMGui

void displayPacket(Packet p){
          //Function works fine
          //Need to pass this data to the JNMTextArea!!!
          setText(buffer.toString());
          setCaretPosition(0);
This seems really odd. Notice that you pass in "p" but use "buffer". Where is "buffer" defined?

Similar Messages

  • HT1338 I'm having trouble updating the ipad from the iOS 7.0.6

    I'm having trouble with updating my ipad from the iOS 7.0.6

    If you meant "upgrading to" and not "upgrading from", then I find the best way is to connect the device to power, have a good wifi connection, and use the general tab, software update on the device itself.  This will download a delta update that is much smaller in size than using iTunes to do the update.
    For example, when I updated to 7.0.6 it was ~50MB download.  I grew tired to downloading 1GB via the iTunes method.

  • Updating a database from a JTable

    So, in my GUI class, the user searches for the records of an event and round, which returns 9 records into my JTable for me.
    This is how i do thi
    else { List<UpdateEventSetGet> searchResult = sql.searchRecords(sType, sType2); for(int x = 0, y = searchResult.size(); x < y; x++) { UpdateEventSetGet update = searchResult.get(x); model.setValueAt(update.getNationality(), x, 0); model.setValueAt(update.getFirstname(), x, 1); model.setValueAt(update.getLastname(), x, 2); model.setValueAt(update.getTime(), x, 3); } }
    Now with user being able to see their search results in the JTable, they are able to edit it. Then once they click update, the new edited JTable should be updated into my database. Whats the best way to achieve this update? I was thinking about just taking the whole table model and sending that off to my database to replace what is there. But then what happens if they only change one word, is it a waste to change everything? Whats the best way to achieve this update?
    Any Advise?

    nick2price wrote:
    Sorry, when i say table i am making a bad reference to my table model, I meant the table model. What i am just trying to understand better is the actual update statement. So lets say the user updates one cell in the JTable, wouldnt the update need to be specific to that cell? So if you had a table model with four columns, Nationality, First_Name, Last_Name and Time_Set. This model also has 9 rows of data. Now i dont know what cells the user is going to update. So how is it possible to make an update statement for this?Well, come on. One of the columns is the table's primary key, right? So you don't let the user change that column. If they change any other column, you execute an update like
    Update Table set Column5='Simple' where Column1='Key"{code}
    Of course whichever column they update, you update the corresponding column in the database. You could make things more complicated, but why not just keep it simple?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How can I update a JTextArea from another class

    I am new to Java so forgive me if this is confusing, or if I seem to be taking an overly complex route to acheiving my goal.
    I've got a JTextArea component added to a JPanel object, which is then inserted into the JFrame. I have a JMenuBar with a JMenu "file" and a JMenuItem "connect" on this same JFrame. When clicked, the actionEvent of JMenuItem "connect" calls a class "ConnectToDb" to establish a connection with the Database. On a successful connection, I want to append the String "Connection Successful" to the JTextArea component, but since the component is a part of the JPanel object, I cannot seem to get access to the JTextArea component to update it. I tried instantiating the JPanel object from within the "ConnectToDb" class and then called a method I created to set the JTextArea. No luck. Can someone give me an idea of what I need to do that would allow me to update the text of the JTextArea component from anywhere in my program? Once it has been contained in the JPanel or JFrame, can it be updated?
    This is the class that establishes the simple Db Connection
    package cjt;
    import java.io.*;
    import java.sql.*;
    * Get a database connection
    * Creation date: (04/01/2002 4:08:39 PM)
    * @author: Yaffin
    public class ConnectToDB {
    public Connection dbConnection;
    // ConnectToDB constructor
    public ConnectToDB() {
    public Connection DbConnect() {
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String sourceURL = new String("jdbc:odbc:CJTSQL");
    Connection dbConnection = DriverManager.getConnection(sourceURL, "Encryptedtest", "pass");
    System.out.println("Connection Successful\n");
    //this is where I originally tried to append "Connection Successful
    //to the JTextArea Object in WelcomePane()          
    } catch (ClassNotFoundException cnfe) {
    //user code
    System.out.println("This ain't working because of a class not found exeption/n");
    } catch (SQLException sqle) {
    //user code
    System.out.println("SQL Exception caused your DB Connection to SUCK!/n");
    return dbConnection;
    This is the JPanel that contains the JTextArea "ivjStatusArea" I am trying to update from other classes. Specifically the "ConnectToDb" class above.
    package cjt;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    * Build Welcome Pane
    * Creation date: (04/01/2002 3:42:50 PM)
    * @author: yaffin
    public class WelcomePane extends JPanel {
         private JTextArea ivjtxtConnect = null;
         private JLabel ivjwelcomeLbl = null;
         private JTextArea ivjStatusArea = null;
    * WelcomePane constructor comment.
    public WelcomePane() {
         super();
         initialize();
    * Return the StatusArea property value.
    * @return javax.swing.JTextArea
    private javax.swing.JTextArea getStatusArea() {
         if (ivjStatusArea == null) {
              try {
                   ivjStatusArea = new javax.swing.JTextArea();
                   ivjStatusArea.setName("StatusArea");
                   ivjStatusArea.setLineWrap(true);
                   ivjStatusArea.setWrapStyleWord(true);
                   ivjStatusArea.setBounds(15, 153, 482, 120);
                   ivjStatusArea.setEditable(false);
                   // user code begin {1}
                   // user code end
              } catch (java.lang.Throwable ivjExc) {
                   // user code begin {2}
                   // user code end
                   handleException(ivjExc);
         return ivjStatusArea;
    * Initialize the class.
    private void initialize() {
         try {
              // user code begin {1}
              // user code end
              setName("WelcomePane");
              setLayout(null);
              setSize(514, 323);
              add(getStatusArea(), getStatusArea().getName());
         } catch (java.lang.Throwable ivjExc) {
              handleException(ivjExc);
         // user code begin {2}
         // user code end
    This is the main class where evrything is brought together. Notice the BuildMenu() method where the JMenuItem "connect" is located. Also notice the PopulateTabbedPane() method where WelcomePane() is first instantiated.
    * The main application window
    * Creation date: (04/01/2002 1:31:20 PM)
    * @author: Yaffin
    public class CjtApp extends JFrame {
    private JTabbedPane tabbedPane;
    private ConnectToDB cdb;
    private Connection dbconn;
    public CjtApp() {
    super("CJT Allocation Application");
    // Closes from title bar
    //and from menu
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    tabbedPane = new JTabbedPane(SwingConstants.TOP);
    tabbedPane.setForeground(Color.white);
    //add menubar to frame
    buildMenu();
    //populate and add the tabbed pane
    populateTabbedPane(dbconn);
    //tabbedPane.setEnabledAt(1, false);
    //tabbedPane.setEnabledAt(2, false);
    getContentPane().add(tabbedPane);
    pack();
    * Build menu bar and menus
    * Creation date: (04/01/2002 2:42:54 PM)
    private void buildMenu() {
    // Instantiates JMenuBar, JMenu,
    // and JMenuItem.
    JMenuBar menubar = new JMenuBar();
    JMenu menu = new JMenu("File");
    JMenuItem item1 = new JMenuItem("Connect");
    JMenuItem item2 = new JMenuItem("Exit");
    //Opens database connection screen
    item1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    //call the ConnectToDb class for a database connection
    ConnectToDB cdb = new ConnectToDB();
    dbconn = cdb.DbConnect();
    }); // Ends buildMenu method
    //Closes the application from the Exit
    //menu item.
    item2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    System.exit(0);
    }); // Ends buildMenu method
    //Adds the item to the menu object
    menu.add(item1);
    menu.add(item2);
    //Adds the menu object with item
    //onto the menu bar     
    menubar.add(menu);
    //Sets the menu bar in the frame
    setJMenuBar(menubar);
    } //closes buildMenu
    public static void main(String[] args) {
    CjtApp mainWindow = new CjtApp();
    mainWindow.setSize(640, 480);
    mainWindow.setBackground(Color.white);
    mainWindow.setVisible(true);
    mainWindow.setLocation(25, 25);
    * Add tabs to the tabbedPane.
    * Creation date: (04/01/2002 2:52:19 PM)
    private void populateTabbedPane(Connection dbconn) {
         Connection dbc = dbconn;
         tabbedPane.addTab(
         "Welcome",
    null,
    new WelcomePane(),
    "Welcome to CJT Allocation Application");
         tabbedPane.addTab(
         "Processing",
    null,
    new ProcessPane(dbc),
    "Click here to process an allocation");
         tabbedPane.addTab(
         "Reporting",
    null,
    new ReportPane(),
    "Click here for reports");
    //End
    Thanks for any assistance you can provide.
    Yaffin

    Thanks gmaurice1. I appreciate the response. I believe I understand your explanation. I am clear that the calling code needs access to the WelcomPane() object. I am assuming that the constructor for the calling class must have the JPanel WelcomePane() instance passed to it as an argument. This way I can refer directly to this specific instance of the object. Is this correct?
    Also, where would you create the set method? I tried to create a set method as part of the WelcomePane() class, and then call it from the calling class, but it didn't seem to work. Lastly, a globally accessible object? Can you explain this concept briefly? Thanks again for your help.
    yaffin

  • Trouble updating xtreme mapping from app store

    I have an update for xtreme mapping in the app store but It refuses to let me download
    - it starts then says error then gives me a  box saying THIS APPLICATION CANNOT BE DOWNLOADED and underneath NS INTERNAL INCONSISTENCY EXCEPTION.
    I am using the same laptop i purchased the initial software so what's the problem!!!

    Report the update issue to the Xtreme Mapping app developer here >  http://www.xtrememapping.com/App/ContactUs

  • Trouble updating ADO recordsets from synonyms

    I have created an ado(2.6/ sqora32 v9.02.00.00) recordset with multiple joins. The tables have a trigger which adds a time stamp. Updates work fine when these are made directly on the schema table.
    When I try to make updates on synonyms I get the error.
    "Insufficient key column information for updating or refreshing."
    The KEYCOLUMN property of the primary key field is false
    debug.print rs.fields("id").Properties("Keycolumn").value
    False
    It was suggested that I set the recordset properties ("Unique Rows") or ("Determine Key Columns For Rowset") to true, but the former cannot be set and the latter does not exist.
    THE Catch: I am running this on my development machine, connecting to our database server through Oracle client 9.2.0.1.0 When I run the application directly on the server updates are fine AND debug.print rs.fields("id").Properties("Keycolumn").value
    is TRUE!!
    Please help.
    Rob

    I have created an ado(2.6/ sqora32 v9.02.00.00) recordset with multiple joins. The tables have a trigger which adds a time stamp. Updates work fine when these are made directly on the schema table.
    When I try to make updates on synonyms I get the error.
    "Insufficient key column information for updating or refreshing."
    The KEYCOLUMN property of the primary key field is false
    debug.print rs.fields("id").Properties("Keycolumn").value
    False
    It was suggested that I set the recordset properties ("Unique Rows") or ("Determine Key Columns For Rowset") to true, but the former cannot be set and the latter does not exist.
    THE Catch: I am running this on my development machine, connecting to our database server through Oracle client 9.2.0.1.0 When I run the application directly on the server updates are fine AND debug.print rs.fields("id").Properties("Keycolumn").value
    is TRUE!!
    Please help.
    Rob

  • I have 2 App Store accounts, one from MobileMe time and i want to know if it is possible to merge them as i'm having troubles updating some of my software?

    I have 2 App Store accounts, one from MobileMe time and i want to know if it is possible to merge them as i'm having troubles updating some of my software?
    I have to sign in and out between one and the other constantly and i dont know what to do anymore becouse now i can't update software on either, it keeps on poping up "To update this application, sign in to the account you used to purchase it." and im pretty sure im on the right account.

    Sorry. Apple's policy states that accounts cannot be merged > Frequently asked questions about Apple ID
    Contact Apple for assistance > Contacting Apple for support and service

  • HT1222 Having trouble updating to  11.1 on my iPhone 5 and I can't download any music from iTunes to my iPhone because it says I don't have 11.1

    Having trouble updating to  11.1 on my iPhone 5 and I can't download any music from iTunes to my iPhone because it says I don't have 11.1? How can I update iTunes on iPhone?

    You update iTunes on your computer to 11.1.

  • HT1349 Actually, my iphone was hanged and its screen was not working at all .So, I updated its software from market but for reactivation it require icloud account but i didn't know how exactly it is and i was caught in big trouble . But i have its box and

    Actually, my iphone was hanged and its screen was not working at all .So, I updated its software from market but for reactivation it require icloud account but i didn't know how exactly it is and i was caught in big trouble . But i have its box and all other accessories .So , kindly help me as early as possible .Thankyou    and tell me about its solution
    <Email Edited by Host>

    Basic troubleshooting steps outline in the manual are restart, reset, restore from backup, restore as new.  Try each of these in order until the problem is resolved.  If you've been through all these steps and the trouble persists, you'll need to bring your phone to Apple for evaluation.  Be sure to make an appointment first at the Genius Bar so you won't have a long wait.
    Best
    GDG

  • I am having trouble updating minomonsters and I would like to find a way to fix it without erasing all of my data from the app.

    I am having trouble updating minomonsters and I would like to find a way to fix it without erasing all of my data from the app.

    I am having trouble updating minomonsters and I would like to find a way to fix it without erasing all of my data from the app.

  • How do i update a JTextArea?

    Hey
    I have a main GUI class where i can add one number to an ArrayList in an ohter class (Basket). After i added the number to the ArrayList
    i can click a button to open anohter window (which is created in BasketGUI class) where a JTextArea are showing the numbers i have
    added in the ArrayList.
    But notthing is showing, i know the addition to the ArrayList works because it works with a System.out.println.
    I have to post alot of code, so you could just skip the code and eksplain to me in generel how to update a JTextArea.
    BasketGUI:
    * Basket.java
    * Created on 5. februar 2008, 15:29
    package userclasses;
    import java.util.ArrayList;
    * @author  Lille mus
    public class BasketGUI extends javax.swing.JFrame {
        private Basket basket;
        private Stock stock;
        private String newline = "\n";
        /** Creates new form Basket */
        public BasketGUI() {
            stock = new Stock();
            basket = new Basket();
            initComponents();
        public String showBasket(){
            ArrayList newBasket = basket.getArrayList();
            String returnBasket = "";
            for(Object item : newBasket){
                returnBasket += item+newline;
            return returnBasket;
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        // <editor-fold defaultstate="collapsed" desc="Generated Code">
        private void initComponents() {
            jLabel1 = new javax.swing.JLabel();
            jScrollPane1 = new javax.swing.JScrollPane();
            jTextArea1 = new javax.swing.JTextArea();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Indk?bskurv");
            jLabel1.setText("Indk?bskurv");
            jTextArea1.setColumns(20);
            jTextArea1.setRows(5);
            jTextArea1.setText(stock.printAllStockItems());
            jTextArea1.setText(showBasket());
            jScrollPane1.setViewportView(jTextArea1);
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addGap(21, 21, 21)
                            .addComponent(jLabel1))
                        .addGroup(layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap(224, Short.MAX_VALUE))
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jLabel1)
                    .addGap(20, 20, 20)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(159, Short.MAX_VALUE))
            pack();
        }// </editor-fold>
         * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new BasketGUI().setVisible(true);
        // Variables declaration - do not modify
        private javax.swing.JLabel jLabel1;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JTextArea jTextArea1;
        // End of variables declaration
    }This code is what happends when i click the button which adds a number to the ArrayList:
    private void putInBasket(java.awt.event.ActionEvent evt) {                            
            //Integer itemId = Integer.parseInt(itemIdField.getText());
            basket.addItemToBasket(3);
            System.out.println(basket.showBasket());
        }Basket class:
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package userclasses;
    import java.util.ArrayList;
    * @author Jesper
    public class Basket {
        private ArrayList<Integer> basket;
        private String returnBasket;
        private Stock stock;
        private String newline = "\n";
        public Basket(){
            basket = new ArrayList<Integer>();
            add4ItemsToBasket();
        public void addItemToBasket(int itemId){
            basket.add(itemId);
        public void add4ItemsToBasket(){
            addItemToBasket(1);
            addItemToBasket(2);
        public String showBasket(){
            for(Integer item : basket){
                returnBasket += item+newline;
            return returnBasket;
        public ArrayList getArrayList(){      
            return basket;
    }Thank you!

    okay... i cant figure out the logic in this. i have put this code into the BasketGUI class:
    public void setBasketList(){
            basketListTextArea.append(basket.showBasket());
        }this function i call in my MainGUI here:
    private void putInBasket(java.awt.event.ActionEvent evt) {                            
            //Integer itemId = Integer.parseInt(itemIdField.getText());
            basket.addItemToBasket(3);
            basketGUI.setBasketList();
            System.out.println(basket.showBasket());
        }What am i doing wrong?

  • Cannot update itunes software from app store

    Having trouble updating itunes software. System gives me error message when trying to install iTunes 11.0.3
    "An error occurred while installing the updates.(103)" Not sure how to handle this

    Try each of the following steps.
    Step 1
    If you're trying to install more than one update, do the updates one at a time.
    Step 2
    Triple-click the line below to select it:  
    /Library/Updates
    Right-click or control-click the highlighted line and select
    Services ▹ Open
    from the contextual menu. A folder should open. Move the contents to the Trash. You may be prompted for your administrator password.

  • I am having trouble updating iTunes 10.7- it downloads about 70% then stops and says error. What can I do to update??

    I am having trouble updating iTunes 10.7- it downloads about 70% then stops and says error. What can I do to update??

    I'd first try downloading an installer from the Apple website using a different web browser:
    http://www.apple.com/quicktime/download/
    If you use Firefox instead of IE for the download (or vice versa), do you get a working installer?

  • Why am i having trouble updating itunes  on my windows 7 (64 bit) computer?

    Why am I having trouble updating itunes on my windows 7 (64 bit) computer?

    Doug
    Thanks for the update.
    nothing is getting installed, copied or otherwise loaded onto my computer....first the program starts to load, then it asks for my serial number, then it goes out and seems to check the serial number then it says it can't be installed then it erases everything it just spent 10 minutes loading.
    In view of the above and your prior descriptions, have you tried alternative installation files?
    If you want to give a look to that approach, please download and install the tryout files for Premiere Elements 9 from the following web site and then insert your purchased serial number into them during installation.
    With this route, you need to carefully carry out the web site's "Note: Very Important Instructions" in order to avoid an Access Denied message.
    Photoshop Elements 9 / Premiere Elements 9 Direct Download Links | ProDesignTools
    Back to my questions from post 3
    Are you getting any Shared Technologies error message any where in the installation process that is failing?
    If you follow the following path, do you find an OOBE Folder?
    Local Disk C
    Program Files (x86)
    Common Files Folder
    Adobe
    and in the Adobe Folder should be the OOBE Folder which you rename from OOBE to OLDOOBE to disable it.
    When you are forced into a roll back for whatever installation has taken place, do you ever see a message about Shared Technologies?
    And, whether or not the program installs to any extent, does your computer have the OOBE Folder? If so, then please rename it to disable it before
    you try for another 9 install.
    Looking forward to your results.
    ATR
    Add On....Please remind me....since you purchased Premiere Elements 9, have you ever installed and used it successfully on any computer?

  • Can't accurately update Address Book from LinkedIn vCard

    Hi everybody,
    Unlike when I used Outlook for Windows, I have had trouble updating Address Book with LinkedIn vCards.  If a contact leaves one company for another and I try to update his information, the new company name and title end up being put into the notes field in Address Book. I asked LinkedIn this and got the following reply:
    Thanks for reaching out to us - Sorry to hear that importing your contacts isn't working.
    Unfortunately, this feature works best with Windows products, like Outlook and was not designed for use with Apple products.
    I find this unacceptable and would love any suggestions as to a plugin or extension to make this work.
    Thanks!
    Doug

    I'm not sure if this will help.
    I have saved some sheets in csv format from Excel, but it seems that the import function from the address book doesn't accept the csv extension.
    Saving the data in a txt file did solve the issue.
    Make sure that your file extension is .txt and that the data is tab of semicolon delimited.

Maybe you are looking for