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; 
    }

  • 相关阅读:
    [CareerCup] 4.6 Find Next Node in a BST 寻找二叉搜索树中下一个节点
    Android 接入支付宝支付实现
    Android 设置软键盘搜索键以及监听搜索键点击事件
    Android 应用监听自身卸载,弹出用户反馈调查
    ndk制作so库,ndk-build不是内部或外部命令。。。的错误
    Error: Your project contains C++ files but it is not using a supported native build system
    Android开发之——依赖冲突Program type already present
    基于Python的开源人脸识别库:离线识别率高达99.38%
    Android5.0以后,materialDesign风格的加阴影和裁剪效果
    Android 5.0 以上监听网络变化
  • 原文地址:https://www.cnblogs.com/kevin1988/p/3508165.html
Copyright © 2011-2022 走看看