zoukankan      html  css  js  c++  java
  • C#读取Excel 2003/2007的文件(注意连接字符串)

    以读取access数据集的方式读取  

    For excel 2007:

        private DataSet GetExcelData(string str)
        {
            string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + str + ";Extended Properties="Excel 12.0;HDR=YES"";
            OleDbConnection myConn = new OleDbConnection(strCon);
            string strCom = " SELECT * FROM [Sheet1$]";
            myConn.Open();
            OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
            DataSet myDataSet = new DataSet();
            myCommand.Fill(myDataSet, "[Sheet1$]");
            myConn.Close();
            return myDataSet;
        }

    For excel2003:

    连接字符串改为:

    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+str+";Extended Properties=Excel 8.0";

    /// <summary> 
    /// 读取Excel文档 
    /// </summary> 
    /// <param name="Path">文件名称</param> 
    /// <returns>返回一个数据集</returns> 
    public DataSet ExcelToDS(string Path) 

    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;"; 
    OleDbConnection conn = new OleDbConnection(strConn); 
    conn.Open(); 
    string strExcel = ""; 
    OleDbDataAdapter myCommand = null; 
    DataSet ds = null; 
    strExcel="select * from [sheet1$]"; 
    myCommand = new OleDbDataAdapter(strExcel, strConn); 
    ds = new DataSet(); 
    myCommand.Fill(ds,"table1"); 
    return ds; 



    /// <summary> 
    /// 写入Excel文档 
    /// </summary> 
    /// <param name="Path">文件名称</param> 
    public bool SaveFP2toExcel(string Path) 

    try 

    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;"; 
    OleDbConnection conn = new OleDbConnection(strConn); 
    conn.Open(); 
    System.Data.OleDb.OleDbCommand cmd=new OleDbCommand (); 
    cmd.Connection =conn; 
    //cmd.CommandText ="UPDATE [sheet1$] SET 姓名='2005-01-01' WHERE 工号='日期'"; 
    //cmd.ExecuteNonQuery (); 
    for(int i=0;i<fp2.Sheets [0].RowCount -1;i++) 

    if(fp2.Sheets [0].Cells[i,0].Text!="") 

    cmd.CommandText ="INSERT INTO [sheet1$] (工号,姓名,部门,职务,日期,时间) VALUES('"+fp2.Sheets [0].Cells[i,0].Text+ "','"+ 
    fp2.Sheets [0].Cells[i,1].Text+"','"+fp2.Sheets [0].Cells[i,2].Text+"','"+fp2.Sheets [0].Cells[i,3].Text+ 
    "','"+fp2.Sheets [0].Cells[i,4].Text+"','"+fp2.Sheets [0].Cells[i,5].Text+"')"; 
    cmd.ExecuteNonQuery (); 


    conn.Close (); 
    return true; 

    catch(System.Data.OleDb.OleDbException ex) 

    System.Diagnostics.Debug.WriteLine ("写入Excel发生错误:"+ex.Message ); 

    return false; 
    }

  • 相关阅读:
    JS学习之旅2
    JS学习之旅1
    Stack 栈
    Linked List 链表
    Array 数组
    时间/空间复杂度
    What/Why/How
    Https 握手过程
    JS跨域解决方案
    JS 的内存管理-GC
  • 原文地址:https://www.cnblogs.com/kevin1988/p/3508165.html
Copyright © 2011-2022 走看看