//实例化excelApp对象
excelApp = new Excel.Application();
//打开目标文件strFilePath
excelWk = (Excel.Workbook)excelApp.Workbooks.Open(strFilePath, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing, missing);

解决方案 »

  1.   

    用oledb方式。把电子表格当作一个数据库。
      

  2.   

    .NET 类本身就支持读取Excel string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ this.txtFileName.Text +";"+"Extended Properties=Excel 8.0;"; 
    OleDbConnection conn = new OleDbConnection(strConn); 
    conn.Open();   
    string strExcel = "";    
    OleDbDataAdapter myCommand = null; 
    this.dsTransVouchData1.Clear();
    strExcel="select [调出仓库编号] as cOWhCode,[调出仓库名称] as cOWhName,[入库类别编码] as cIRdCode,[出库类别编码] as cORdCode, "+"[调入仓库编号] as cIWhCode,[调入仓库名称] as cIWhName,[规格型号] as cInvStd, "+
    "[存货编号] as cInvCode,[存货名称] as cInvName, [数量] as iTVQuantity,[批号] as cTVBatch "+
    " from [Sheet1$] "+
    " where [数量]<>0 ";
    myCommand = new OleDbDataAdapter(strExcel, strConn); 

    myCommand.Fill(dsTransVouchData1,"ExcelData");  
    conn.Close();
      

  3.   

    感谢1楼~4楼的朋友 你们的回答,但是不行,excel是不规范的,他的第一行不是字段,不可以把电子表格当作一个数据库来用。我以前也试过,同一列的格式不一样的话,有的数据是读不出来的。在以前服务器上安装office来用的。而恰客户不让安装。现在的excel中还有合并呀,之类的
      

  4.   

    如果只安装office中 对excel读取有关的组件 是哪些 ? 就可以完成“实例化excelApp对象 ”的方法来读取excel里面的内容
      

  5.   

    楼上的全是讲的一些标准的Excel报表,如果人家有单元格合并,有格式,有分页,有抬头的呢?
    OleDbConnection 来操作Excel原则上大多数情况都是行不通的..服务端不能装Excel也很正常,装了个Excel服务器的注册表都得太很多.脱离Excel IDE操作Excel文件还是有点难度的,
    建议楼主将Excel转换为Excel Xml格式再进行操作就会比较好处理了....
      

  6.   

    难道没有办法了吗?我只知道肯定需要的有Excel.dll,还有owc组件,其他还有什么就不清楚了。那位牛人帮忙解决一下
      

  7.   

    baituo, Excel.Exe都要好不好!