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();//cmdTable.CommandText = 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中的一张表格的名称
cmd.CommandText = sql;
OleDbDataReader dataReader = cmd.ExecuteReader();//执行sql语句
DataTable table = new DataTable();
table.Load(dataReader );//OleDbDataReader 转为DataTable
string 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数据都要加上单引号'';
cmd.CommandText = 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);//获取选择的文件名}}

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

  1. 自动化神器啊,Python 批量读取身份证信息写入 Excel

    大家好,今天分享一个实用技能,利用 Python 批量读取身份证信息写入 Excel. 喜欢记得收藏.关注.点赞. 注:文末提供完整版代码.技术交流方式 读取 以图片形式的身份证为例,信息读取我们使用 ...

  2. Python读取Json字典写入Excel表格的方法

    需求: 因需要将一json文件中大量的信息填入一固定格式的Excel表格,单纯的复制粘贴肯定也能完成,但是想偷懒一下,于是借助Python解决问题. 环境: Windows7 +Python2.7 + ...

  3. excel查询mysql数据库表,excel创建数据表/查询mysql数据库中所有表名

    excel两个表格,数据库表与专门查询该数据库信息的表.在查询表中以多个项目进行查询符合条件的数据. 可以用"筛选"这个功能,在菜单里,对两个列进行筛选,符合条件的就会显示出来.很 ...

  4. java设置excel标题栏_Java EasyExcel写入Excel中复杂头(head)表中的标题的方法及示例代码...

    数据标题示例: 1、实体对象@Data public class ComplexHeadData { @ExcelProperty({"主标题", "字符串标题" ...

  5. python excel格式,Python 如何写入Excel格式和颜色

    Python写入Excel有时需要合并单元格.或者改变文字内容的颜色 首先导入xlwt模块 import xlwt 创建文件名 创建Excel工作簿对象 创建工作表 创建样式字体红色 filename ...

  6. java excel读取操作,Java 操作 Excel (读取Excel2003 2007,Poi兑现)

    Java 操作 Excel (读取Excel2003 2007,Poi实现) 一. Apache POI 简介( http://poi.apache.org/) 使用Java程序读写Microsoft ...

  7. 按键精灵如何调用Excel及按键精灵写入Excel数据的方法教程---入门自动操作表格...

    首先来建立一个新的Excel文档,在桌面上点击右键,选择[新建]-[Excel工作表],命名为[新手学员]. 现在这个新Excel文档是空白的,我们接下来会通过按键精灵的脚本来打开并写入一些数据. 打 ...

  8. excel查询oracle数据库,用Excel直接查询Oracle中的数据

    一般情况下,我们如果想要把Oracle当中查询的数据保存为Excel文件,一般都是使用的是PL/SQLDeveloper,本文就给大家介绍一下关于用Excel直接查询Oracle中的数据的内容. 事实 ...

  9. Excel读取通达信1分钟数据

    Excel读入通达信1分钟数据 通达信1分钟线*.lc1文件格式: 每32个字节为一个1分钟数据,每字段内低字节在前 00 ~ 01 字节:日期,2字节整型,设其值为date,则日期计算方法为: ye ...

最新文章

  1. 47%德国企业认为人工智能较大的优势是提高生产效率
  2. 类与类之间关系,用C#和JavaScript体现
  3. 乔布斯亲笔签名Apple II使用手册拍出80万美元高价
  4. mysql中用来取余数的函数是_Excel中一个专门用来评分的函数TRIMMEAN
  5. android 微信设置圆角边框代码,Android编程实现圆角边框的方法
  6. Python获取sklearn库中iris数据写入本地csv文件,可视化展示数据并进行分类、聚类实验以及结果可视化
  7. C#常量——const和readonly(2)
  8. andrioid .9.png图片的制作
  9. ceph mds的客户端告警记录
  10. java 静态方法 非静态变量_深度分析:Java 静态方法/变量,非静态方法/变量的区别,今天一并帮你解决!...
  11. Unix网络编程第一卷学习总结
  12. 连接中国移动彩信网关发送彩信
  13. ios相机黑边_iOS照相机去黑框
  14. 例题 9-2 巴比伦塔(The Tower of Babylon, UVa 437)
  15. JAVA边界布局和setbound_深入探究frame和bounds的区别以及setbounds使用
  16. PL330 DMAC笔记(1) - 简介
  17. latex中表格怎么加标题_导出到LaTeX时,使组织表格标题显示在表格下方 | 所有编程讨论 | zhouni.net...
  18. 【开学了】整理各种常用功能的实现 | 小游戏源码分享
  19. 【转】P2P-BT对端管理协议
  20. 2021年网络赚钱方法以及网络兼职赚钱项目_做知识付费平台的公司有哪些,互联网知识付费的项目

热门文章

  1. 上线仅两月的免费游戏Auto Club Revolution ARPPU达24美元
  2. 一组基于SVG矢量图库和jQuery/GSAP的精美图标动画
  3. Java设计模式--在项目中的应用
  4. 【恭贺新春】2019年春节放假
  5. 电场和磁场在交界面上的连续性
  6. JS中childNodes,firstChild,firstElementChild和children使用分析
  7. MATLAB 中画图高级get函数和set函数
  8. CRC32算法理论和分库分表业务实现
  9. 计算机测控技术论文,测控技术与仪器论文.doc
  10. 关于普通人如何提升执行力?