首页 > 数据库技术 > 详细

c#中使用OLEDB简单操作Excel文件

时间:2020-08-03 18:28:59      阅读:108      评论:0      收藏:0      [点我收藏+]

使用OLEDB操作Excel

关于OLEDB介绍参考

http://www.cnblogs.com/moss_tan_jun/archive/2012/07/28/2612889.html

 

 

连接字符串(fileName表示文件名)

 

"Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";  //旧版本.xls

 

"Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";  //新版本.xlsx

 

 

操作代码如下:

static void Main(string[] args)
{
    string fileName = @".\..\..\装备信息.xls";
    //选择解析文档格式相匹配的字符串
    string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" +
                           ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
    OleDbConnection connection = new OleDbConnection(connectString);
    connection.Open();//创建OleDbConnection对象进行连接数据源并打开连接

    string sqlCommand = "select * from [Sheet1$]";//定义查询命令
    OleDbDataAdapter adapter = new OleDbDataAdapter(sqlCommand,connection);//使用OleDbDataAdapter识别器对象进行查询
    DataSet dataset = new DataSet();//定义DataSet对象用来存放表数据,可以存放多个表
    adapter.Fill(dataset);//使用OleDbDataAdapter.Fill()把查询的结果填充到DataSet对象中

    connection.Close();//查询完毕后关闭连接

    DataTableCollection dataTables = dataset.Tables;//存放所有表的集合
    //因为当前xls中只有一个表需要进行操作,直接使用索引获得即可
    DataTable dataTable = dataTables[0];//直接使用[index]索引取得我们要的表,存放在DataTable对象中
    DataRowCollection dataRows = dataTable.Rows;//使用DataRowCollection对象存放所有行的集合
    //遍历DataRowCollection对象集合,取得每个行DataRow对象,通过索引取得某行中某列的值
    foreach (DataRow row in dataRows)
    {
        for (int i = 0; i < row.ItemArray.Length; i++)
        {
            Console.Write(row[i]+" ");
        }
        Console.WriteLine();
    }

    Console.ReadKey();
}

Excel文件的内容:

技术分享图片

 

运行结果如下:

 技术分享图片

 

c#中使用OLEDB简单操作Excel文件

原文:https://www.cnblogs.com/qjns/p/13427551.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!