`
yuanlanxiaup
  • 浏览: 857761 次
文章分类
社区版块
存档分类
最新评论

打开指定的Excel表格——Visual C#读取Excel和Access数据库

 
阅读更多

Visual C#读取ExcelAccess数据库

三峡大学土木水电学院 肖泽云

Content

一、读取Excel表格... 1

二、保存Excel文件... 5

三、获取表的名称... 6

四、打开指定的Excel表格... 8

五、读取Access数据库... 10

六、获取Access表信息... 12

七、打开指定的Access... 13

四、打开指定的Excel表格

前面使用的Oledb方式以及App方式都是打开Excel文件中的第一个表格或已知表名的表格,如果在不知道Excel文件中表名的情况下要查看Excel文件中表格,则可以结合前面获取Excel表格信息,来通过指定表名的方式打开指定表格。

首先,添加一个按钮,设置其Name为“打开Excel文件button”,Text为“打开Excel文件”;再添加一个按钮,设置其Name为“打开指定的Excel表格button”,Text为“打开指定的Excel表格”;添加一个ComboBox控件,设置其Name为“ExcelComboBox”。如下图所示:

图片

1、打开Excel文件

由于是通过Oledb的方式来打开Excel文件,所以需要在全局变量中定义:

private OleDbConnection excelOledbConnection;

在打开Excel文件时,将获取到的Excel文件中表格名称全部用ComboBox控件列表显示出来,所以在“打开Excel文件button”按钮的Click事件中添加如下代码:

private void 打开Excel文件button_Click(object sender, EventArgs e)

{

OpenFileDialog openDG = new OpenFileDialog();

openDG.Title = "打开Excel表格";

openDG.Filter = "Excel表格(*.xls)|*.xls|CSV格式(*.csv)|*.csv|所有文件(*.*)|*.*";

openDG.ShowDialog();

string filename;

filename = openDG.FileName;

string strConn

= @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties=Excel 8.0";

excelOledbConnection = new OleDbConnection(strConn);

excelOledbConnection.Open();

DataTable table = new DataTable();

table = excelOledbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });

ExcelComboBox.Items.Clear();

foreach (DataRow dataRow in table.Rows)

{

ExcelComboBox.Items.Add((String)dataRow["TABLE_NAME"]);

}

ExcelComboBox.Text = ExcelComboBox.Items[0].ToString();

}

2、打开指定的Excel表格

根据ComboBox控件中选中的表格名称来打开该表格,在“打开指定的Excel表格button”的Click事件中添加如下代码:

private void 打开指定的Excel表格button_Click(object sender, EventArgs e)

{

OleDbCommand odCommand = excelOledbConnection.CreateCommand();

odCommand.CommandText = "SELECT * FROM [" + ExcelComboBox.Text + "]";

OleDbDataReader odrReader = odCommand.ExecuteReader();

int size = odrReader.FieldCount;

dataGridView1.Columns.Clear();

//添加列的名称

for (int i = 0; i < size; i++)

{

dataGridView1.Columns.Add("", odrReader.GetName(i));

}

int j = 0;

while (odrReader.Read())

{

dataGridView1.Rows.Add();

for (int i = 0; i < size; i++)

{

dataGridView1.Rows[j].Cells[i].Value = odrReader[i].ToString();

}

j++;

}

}

其结果如下图所示:

图片

分享到:
评论

相关推荐

    C# 连接access数据库实例

    自己的简单连接本地的access数据库的小程序,通过datagridview控件显示数据,并实现翻页的功能,编译测试过

    access数据库操作案例c#源码

    c# access数据库操作 链接,读取,插入

    C#实现ACCESS与EXCEL互相导入导出

    C#实现ACCESS数据库数据在EXCEL之间互相导入导出,把Access数据导出到Excel表格中。以DB1.MDB中的表“报名表”数据为例。运行是请拷贝DB1.MDB数据库到Bin/debug目录中, Framework 4.0框架。 运行环境:Visual ...

    Visual C# .NET精彩编程实例集锦

    实例119 如何读取EXCEL文件 实例120 如何取得聚合函数返回值 实例121 如何直接操作主从关系表 实例122 如何以Web方式查询Access数据库 实例123 如何使用列表视图显示数据库信息 实例124 如何显示和修改数据库中的...

    winform实现excel导入数据库

    winform实现Excel导入数据库,visual studio2005 + access数据库

    《Visual C# .NET精彩编程实例集锦》配套光盘文件【全】

    《Visual C# .NET精彩编程实例集锦》配套光盘文件【全】 目录回到顶部↑ 前言 第1章 控件操作 实例1 如何使用错误提醒控件 实例2 如何使用信息提示控件 实例3 如何使用菜单控件 实例4 如何使用工具栏控件 实例...

    Visual C#.NET 2008程序设计案例集锦 (源码)

    案例4.3 读取并浏览Access数据库中的数据 案例4.4 利用控件连接SQL Server数据库 案例4.5 利用ADO.NET访问SQL Server数据库 案例4.6 连接Excel电子表格 案例4.7 利用SQL语句向数据库表中插入数据 案例4.8 利用...

    显示动画光标(C#源代码编写)显示动画光标,当运行程序时,光标将变成动画光标

    显示动画光标(C#源代码编写)显示动画光标,当运行程序时,光标将变成动画光标 VisualStudio2008创建[DllImport("user32")] private static extern IntPtr SetCursor(IntPtr hCursor); [DllImport("user32")] ...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据结构与算法、Windows窗体基础、特色窗体界面、窗体控制技术、MDI窗体和继承窗体、Windows常用控件的使用、...

    轻松学C#(图解版)

    12.2.1 文件的创建和打开 222 12.2.2 判断文件是否存在 224 12.2.3 复制文件 225 12.2.4 删除文件 226 12.2.5 文件的加密和解密 227 12.2.6 文件读取 228 12.3 文件夹类Directory 229 12.3.1 创建文件夹 229 12.3.2 ...

    课程设计,实训-基于C#的摇号抽奖系统.zip

    1、开发环境为Visual Studio 2010,数据库为access,数据库文件在Debug文件夹中,使用.net 4.0开发。 2、默认保存抽奖号码的txt文件在Debug文件夹里面。 3、该源码功能比较简单,比较适合学习交流使用,感兴趣的...

    ASP升级.net资料大全(c#入门 语言规范 源码教程 学习笔记 技术资料 面试题 asp与.net代码生成器)

    ACCESS数据库操作类.txt ASP.NET常用代码.txt asp.net常用函数表.txt Asp.net的身份验证.txt ASP导出Excel数据的四种方法.txt C#调用存储过程.txt CheckBox控件.txt datagrid排序_选择_分页.txt DataSet...

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 &lt;br&gt;1.1 Visual Studio开发环境安装与配置 2 &lt;br&gt;0001 安装Visual Studio 2005开发环境须知 2 &lt;br&gt;0002 配置合适的Visual Studio 2005...

    asp.net知识库

    动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和...

    C#微软培训资料

    1.1 Microsoft.NET——一场新的革命.4 1.2 .NET 与 C#.6 1.3 C#语言的特点.8 1.4 小 结 .11 第二章 运行环境 全面了解.NET.12 2.1 .NET 结构.12 2.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 ...

    .net技术资料大全(语言规范 源码教程 学习笔记 技术资料 .net代码生成器)

    ACCESS数据库操作类.txt ASP.NET常用代码.txt asp.net常用函数表.txt Asp.net的身份验证.txt ASP导出Excel数据的四种方法.txt C#调用存储过程.txt CheckBox控件.txt datagrid排序_选择_分页.txt DataSet...

    c# 加密和解密相关代码

    (1)打开Visual Studio 2008 开发环境,新建一个Windows窗体应用程序,并将其命名为Encrypt。 (2)更改默认窗体Form1 的Name 属性为Frm_Main,在该窗体中添加两个GroupBox 容器控件,其中, 在第一个GroupBox 中放...

Global site tag (gtag.js) - Google Analytics