Есть ли способ выбрать только несколько столбцов из Excel для подключения к соединению ODBC-JDBC?

Я пишу программу для предоставления данных о запасах в графический интерфейс, который будет обновляться в режиме реального времени. Когда я использую смарт-теги в Excel, он обновляется с помощью 13 столбцов: Last, Previous, Close, High, Low, Volume, Change, % Change, 52 Wk High, 52 Wk Low, Market Cap, EPS, P/E Ratio и # Shares Out. Однако я хочу иметь дело только с несколькими столбцами. Есть ли способ выбрать только несколько столбцов для извлечения данных? Это то, что я использую для извлечения данных, и это работает, но мне не нужно все это:

try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection connect = DriverManager.getConnection("jdbc:odbc:Book1");
        Statement st = connect.createStatement();
        ResultSet result_set = st.executeQuery("SELECT * FROM A3:P30");
        ResultSetMetaData md = result_set.getMetaData();
        int columns = md.getColumnCount();
        for (int i = 1; i <= columns; i++) {
            columnNames.addElement(md.getColumnName(i));
        }
        while (result_set.next()) {
            Vector row = new Vector(columns);
            for (int i = 1; i <= columns; i++)
                row.addElement(result_set.getObject(i));
            data.addElement(row);
        }
        result_set.close();
        st.close();
    } catch (Exception e) {
        System.out.println(e);
    }

В Book1 у меня 27 записей, откуда P30.. Заранее спасибо!


person Vincent Giuliana    schedule 25.03.2014    source источник
comment
какие варианты пробовал? Пожалуйста, укажите здесь   -  person Jatin Khurana    schedule 25.03.2014
comment
Я попытался изменить запрос на st.executeQuery("SELECT * FROM A, D, E, F") и так далее для нужных мне столбцов. Кроме того, st.executeQuery("SELECT * FROM #A3:A30, #D3:D30, #E3:E30, #F3:F30") с теми же столбцами.   -  person Vincent Giuliana    schedule 25.03.2014


Ответы (1)


Если у вас есть строка заголовка, например Last, Previous, Close, High и т. д., используйте

select [Last],[Previous],[Close],[High] from [SheetName$]

Мы используем тот же код и отлично работает.

person Luca Basso Ricci    schedule 25.03.2014
comment
Проблема в том, что когда я обновляю все данные в Escel, заголовки по умолчанию выглядят так: это. Таким образом, согласно Excel, Last, Previous Close и т. д. не являются фактическими заголовками. - person Vincent Giuliana; 25.03.2014