我想知道导入EXCEL时当前列所对应的上面的(A,B,C,D,E,F,G)的字母;怎样写代码??

解决方案 »

  1.   

    可以用“F1,F2,F3”等来代替A,B,C
      

  2.   

    如果Excel的第一行有列标题,可以用列标题来代替A,B,C
      

  3.   

      string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";
             System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon);
             string strCom = "SELECT * FROM [Sheet1$]";
             Conn.Open();
             System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);
             DataSet ds = new DataSet();
             myCommand.Fill(ds, "[Sheet1$]");
             Conn.Close();foreach (DataColumn dc in ds.Tables[0].Columns)
            {
                str+=dc.ColumnName.ToString();
            }
      

  4.   

    我想知道的是怎样取的Excel的第一行的列标题A,B,C
      

  5.   

    我有个算法 是做这个的,
    不过用JAVA 实现的 你可以翻译成你需要的代码
    public static String getExcelColumnLabel(int num){
        String temp="";
        double i=Math.floor(Math.log(25.0*(num)/26.0+1)/Math.log(26))+1;
        if(i>1){
         double sub=num-26*(Math.pow(26, i-1)-1)/25;
         for(double j=i;j>0;j--){
          temp= temp+(char)(sub/Math.pow(26, j-1)+65);
          sub=sub%Math.pow(26, j-1);
         }
        }else{
         temp= temp+(char)(num+65);
        }
        return temp;
     }参数num代表的是 第几列  我这里是从0开始 ,如果你是从1开始的话调用时需要减去1
    比如你要 得出第27列的标题 参数因该输入27-1=26 
    那调用的 方式如下
    String label=getExcelColumnLabel(26);
    结果是: AA本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Mars_Yuan/archive/2010/05/05/5560746.aspx