打开指定的Excel表格——Visual C#读取Excel和Access数据库
来源:互联网 发布:2017如何关闭淘宝店铺 编辑:程序博客网 时间:2024/06/10 16:07
Visual C#读取Excel和Access数据库
三峡大学土木水电学院 肖泽云
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++;
}
}
其结果如下图所示:
- 打开指定的Excel表格——Visual C#读取Excel和Access数据库
- 打开指定的Access表——Visual C#读取Excel和Access数据库
- 读取Excel表格——Visual C#读取Excel和Access数据库
- 保存Excel文件、获取表的名称——Visual C#读取Excel和Access数据库
- 读取Access数据库、获取Access表信息——Visual C#读取Excel和Access数据库
- C#读取Excel表格
- C#读取excel表格
- C#读取Excel表格的方法
- EXCEL:批量读取EXCEL文件给指定数据库(access,sql server)
- Visual C#读取Excel表格中的数据
- Visual C#读取Excel表格中的数据
- 把access数据库导入excel表格
- 打开选择的excel表格
- 【Bug】c#使用oleDB读excel读取不到最后一列,把Excel表格打开随便改动一列的格式就能读取出来了。请问这是什么问题
- python读取excel表格——xlrd的使用
- 读取excel表格的内容
- C# 读取Excel表格中的内容
- Matlab读取Access数据库保存到Excel
- 读取Excel表格——Visual C#读取Excel和Access数据库
- 保存Excel文件、获取表的名称——Visual C#读取Excel和Access数据库
- IIS与SQL服务器安全加固详解(转)
- 基于CPU实现的Shadow Map(阴影图)技术--(Cg语言实现)
- Activity之间的跳转,传值,返回原来的Activity,对话框
- 打开指定的Excel表格——Visual C#读取Excel和Access数据库
- VC6.0处理Excel2003的实例程序
- 读取Access数据库、获取Access表信息——Visual C#读取Excel和Access数据库
- 打开指定的Access表——Visual C#读取Excel和Access数据库
- pku 1167[枚举+回溯]
- 抽象类(abstract)与接口的区别(interface)
- as3画曲线
- 通过商场促销来看策略模式+vb.net实现
- struts2.0的标签库(简介)