我正在编写一个程序来提供股票数据到GUI,这将实时更新。当我在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
来自的地方。谢谢你,提前!
如果你有像Last, Previous, Close, High
这样的标题行,使用
select [Last],[Previous],[Close],[High] from [SheetName$]
我们使用相同的代码并且工作良好