请问asp.net(c#)中 如何取一个EXEL文件里所有工作表的名称?如test.xls,里有三张表,第一张为sheet1,第二张为sheet2,第三张表为sheet3:请问如何在asp.net的程序里取得这些工作表的名字,或取得第一个工作表的名字啊? 急求各位大侠帮我?

解决方案 »

  1.   

    用FarPoint这种第三方控件Dim fpSheet As New FarPoint.Web.Spread.SheetView
    fpSheet.SheetName ="xxxxx"
      

  2.   

    app = new Microsoft.Office.Interop.Excel.ApplicationClass();
    wbTarget = app.Workbooks.Add( "1.xls" );
    for( int i=1 ; i<=wbTarget.Sheets.Count ; i++  )
    {
       Excel.Worksheet ws = wbTarget.Sheets[i];
       string 表名 = ws.Name;
    }
      

  3.   

    用OleDb连接Excel:string strConn  = "Provider=Microsoft.Jet.OleDb.4.0;"; 
    strConn += "data source=" + filePath + ";"; 
    strConn += "Extended Properties=Excel 8.0;";  
    //strConn += "HDR=Yes;IMEX=1";OleDbConnection objConn = new OleDbConnection(strConn);ArrayList SheetNameList = new ArrayList();

    try
    {
         objConn.Open();
         DataTable dtExcelSchema = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[]{null,null,null,"TABLE"});
         string SheetName="";     for(int i=0;i<dtExcelSchema.Rows.Count;i++)
         {
              SheetName = dtExcelSchema.Rows[i]["TABLE_NAME"].ToString();
     SheetNameList.Add( SheetName );
         }
    }
    catch(Exception ex)
    {
       //ignore
    }
    finally
    {
        objConn.Close();
    }