0

我有一个 Excel 电子表格,其中只有前 2 列中的数据。我想将数据排序到一个数组中,以便我可以循环并使用数据执行计算。

到目前为止,我已经能够将电子表格的内容输出到控制台日志。我对 Java 编程非常陌生,我需要帮助。

这是我到目前为止的代码:

import java.sql.*;
import java.util.*;

public class testJDBC {

      public static void main(String[] args) {
            //private static List<DataItem> myList = ArrayList<DataItem>();

        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con = DriverManager.getConnection("jdbc:odbc:Sample_Defects");
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery("Select * from [Sheet1$]"); 

            ResultSetMetaData rsmd = rs.getMetaData();
            int numberOfColumns = rsmd.getColumnCount();

            while (rs.next()) {
                  //DataItem d = new DataItem();
                  // d.setID(rs.getString(1));
                  // d.setSTATUS(rs.getString(2));
                  //myList.add(d);

                for (int i = 1; i <= numberOfColumns; i++) {

                    if (i > 1) System.out.print(" , " );
                    String columnValue = rs.getString(i);
                    System.out.print(columnValue);

                }
                System.out.println();

            }
            st.close();
            con.close();
         } catch (Exception ex) {
            System.err.print("Exception: ");
            System.err.println(ex.getMessage());
        }
    }
} 
4

1 回答 1

0

您可以将数据插入到2D数组中。然后排序。

像 - String[][] array = new String[2][numberOfColumns];

然后就可以使用Arrays.sort()方法进行排序了。您还可以覆盖该方法以获得所需的排序,例如 -

Arrays.sort(array, new Comparator<String[]>() {
public int compare(String[] a, String[] b) {
    return a[0].compareTo(b[0]);
 }
});
于 2013-07-03T16:32:25.180 回答