300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C# 创建Excel 读取mdb数据库 写入Excel数据 获取mdb中所有表格名字 选择多个文件

C# 创建Excel 读取mdb数据库 写入Excel数据 获取mdb中所有表格名字 选择多个文件

时间:2022-11-03 20:16:21

相关推荐

C# 创建Excel 读取mdb数据库 写入Excel数据 获取mdb中所有表格名字 选择多个文件

C# 创建Excel,读取mdb数据库,写入Excel数据,获取mdb中所有表格名字,选择多个文件

1、创建Excel表

使用OleDbCommand类执行SQL语句即可,代码如下

/// <summary>/// 创建表格/// </summary>/// <param name="excelName">创建的Excel表名</param>public void createExcel(string excelName){string exportDataSql = "CREATE TABLE Test ([测量点号] VarChar)";//创建表格的SQL语句,其中Test为excel中的sheet名,[测量点号] VarChar为表格字段名和类型string DataPath = "C:\\Users\\njtq\\Desktop\\convert\\转换后\\";//创建excel文件的路径String sConnectionString = "Provider=Microsoft.ACE.OleDB.15.0;" +"Data Source=" + DataPath + ""+excelName+".xls;" +"Extended Properties=Excel 8.0;";OleDbConnection cn = new OleDbConnection(sConnectionString);//连接Excel操作cn.Open();cmdTable = new OleDbCommand(exportDataSql, cn);也可以使用下面两条语句代替上一条语句//cmdTable =cn.CreateCommand();//mandText = exportDataSql;cmdTable.ExecuteNonQuery();//执行SQL}}

2、读取mdb数据库

使用OleDbConnection连接mdb数据库,同样使用OleDbCommand类执行SQL语句,得到OleDbDataReader数据,再将其转为DataTable数据进行操作,代码如下:

String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourceFile + ";";//sourceFile 为需要操作的mdb数据的路径OleDbConnection conn = new OleDbConnection(connectionString);//连接mdb数据库conn.open();OleDbCommand cmd = conn.CreateCommand();//获取OleDbCommand string sql = "select * from " + TableName;//sql语句,其中TableName为操作的mdb中的一张表格的名称mandText = sql;OleDbDataReader dataReader = cmd.ExecuteReader();//执行sql语句DataTable table = new DataTable();table.Load(dataReader );//OleDbDataReader 转为DataTablestring data = "";data = table.Rows[i]["管径"].ToString();//获取表格中第i行的“管径字段”所对应单元格的数据conn.Close();

3、向Excel中写入数据,与创建Excel表格的操作类似

string sql = "INSERT INTO " + fileSheetName +" VALUES('" + interData + "');//插入sql语句,其中fileSheetName 为你连接的Excel中的一个sheet名,interData为要插入的数据。注意插入的数据个数一定要和字段的个数相同,同时插入的没个verCahr数据都要加上单引号'';mandText = sql;//cmd为OleDbCommand类型,得到该对象方法操作如上面两个方法一样cmd.ExecuteNonQuery();//执行插入语句即可

4、获取mdb中所有表格的名字

public List<string> getAllTableName(OleDbConnection con){List<string> AllTableName = new List<string>();DataTable dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });for (int i = 0, maxI = dt.Rows.Count; i < maxI; i++){// 获取第i个Access数据库中的表名string sTempTableName = dt.Rows[i]["TABLE_NAME"].ToString();AllTableName.Add(sTempTableName);}return AllTableName;}

5、选择多个文件

使用OpenFileDialog类

OpenFileDialog OpenDg = new OpenFileDialog();OpenDg.Title = "打开文件";OpenDg.Multiselect = true;//控制是否能选择多个文件OpenDg.Filter = "mdb文件(*.mdb)|*.mdb";//文件类型筛选OpenDg.RestoreDirectory = true;//是否记忆上次打开的路径if (OpenDg.ShowDialog() == DialogResult.OK)//该语句才执行代开选择框{foreach (string file in OpenDg.FileNames)//通过foreach 遍历选择的所有文件的路径{//file即为选择文件的路径+文件名int position = file.LastIndexOf("\\");//获取最后一个\\字符的索引fileName = file.Substring(position + 1);//获取选择的文件名}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。