将Excel的数据导入DataGridView中
来源:互联网 发布:激活office2013软件 编辑:程序博客网 时间:2024/05/18 03:10
作者:lhxhappy
连接:http://www.cnblogs.com/lhxhappy/archive/2008/11/26/1341873.html
转载请注明出处~!
/// <summary>
/// 点击按钮导入数据
/// 作者:lhxhappy
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//打开一个文件选择框
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Excel文件";
ofd.FileName = "";
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);//为了获取特定的系统文件夹,可以使用System.Environment类的静态方法GetFolderPath()。该方法接受一个Environment.SpecialFolder枚举,其中可以定义要返回路径的哪个系统目录
ofd.Filter = "Excel文件(*.xls)|*.xls";
ofd.ValidateNames = true; //文件有效性验证ValidateNames,验证用户输入是否是一个有效的Windows文件名
ofd.CheckFileExists = true; //验证路径有效性
ofd.CheckPathExists = true; //验证文件有效性
string strName = string.Empty;
if (ofd.ShowDialog() == DialogResult.OK)
{
strName = ofd.FileName;
}
if (strName == "")
{
MessageBox.Show("没有选择Excel文件!无法进行数据导入");
return;
}
//调用导入数据方法
EcxelToDataGridView(strName, this.hpGridView1);
}
/// 点击按钮导入数据
/// 作者:lhxhappy
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//打开一个文件选择框
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Excel文件";
ofd.FileName = "";
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);//为了获取特定的系统文件夹,可以使用System.Environment类的静态方法GetFolderPath()。该方法接受一个Environment.SpecialFolder枚举,其中可以定义要返回路径的哪个系统目录
ofd.Filter = "Excel文件(*.xls)|*.xls";
ofd.ValidateNames = true; //文件有效性验证ValidateNames,验证用户输入是否是一个有效的Windows文件名
ofd.CheckFileExists = true; //验证路径有效性
ofd.CheckPathExists = true; //验证文件有效性
string strName = string.Empty;
if (ofd.ShowDialog() == DialogResult.OK)
{
strName = ofd.FileName;
}
if (strName == "")
{
MessageBox.Show("没有选择Excel文件!无法进行数据导入");
return;
}
//调用导入数据方法
EcxelToDataGridView(strName, this.hpGridView1);
}
Excel数据导入方法
/// <summary>
/// Excel数据导入方法
/// 作者:lhxhappy
/// </summary>
/// <param name="filePath"></param>
/// <param name="dgv"></param>
public void EcxelToDataGridView(string filePath,DataGridView dgv)
{
//根据路径打开一个Excel文件并将数据填充到DataSet中
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + filePath + ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'";//导入时包含Excel中的第一行数据,并且将数字和字符混合的单元格视为文本进行导入
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = "select * from [sheet1$]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
//根据DataGridView的列构造一个新的DataTable
DataTable tb = new DataTable();
foreach (DataGridViewColumn dgvc in dgv.Columns)
{
if (dgvc.Visible && dgvc.CellType != typeof(DataGridViewCheckBoxCell))
{
DataColumn dc = new DataColumn();
dc.ColumnName = dgvc.DataPropertyName;
//dc.DataType = dgvc.ValueType;//若需要限制导入时的数据类型则取消注释,前提是DataGridView必须先绑定一个数据源那怕是空的DataTable
tb.Columns.Add(dc);
}
}
//根据Excel的行逐一对上面构造的DataTable的列进行赋值
foreach (DataRow excelRow in ds.Tables[0].Rows)
{
int i = 0;
DataRow dr = tb.NewRow();
foreach (DataColumn dc in tb.Columns)
{
dr[dc] = excelRow[i];
i++;
}
tb.Rows.Add(dr);
}
//在DataGridView中显示导入的数据
dgv.DataSource = tb;
}
/// Excel数据导入方法
/// 作者:lhxhappy
/// </summary>
/// <param name="filePath"></param>
/// <param name="dgv"></param>
public void EcxelToDataGridView(string filePath,DataGridView dgv)
{
//根据路径打开一个Excel文件并将数据填充到DataSet中
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + filePath + ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'";//导入时包含Excel中的第一行数据,并且将数字和字符混合的单元格视为文本进行导入
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
strExcel = "select * from [sheet1$]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
//根据DataGridView的列构造一个新的DataTable
DataTable tb = new DataTable();
foreach (DataGridViewColumn dgvc in dgv.Columns)
{
if (dgvc.Visible && dgvc.CellType != typeof(DataGridViewCheckBoxCell))
{
DataColumn dc = new DataColumn();
dc.ColumnName = dgvc.DataPropertyName;
//dc.DataType = dgvc.ValueType;//若需要限制导入时的数据类型则取消注释,前提是DataGridView必须先绑定一个数据源那怕是空的DataTable
tb.Columns.Add(dc);
}
}
//根据Excel的行逐一对上面构造的DataTable的列进行赋值
foreach (DataRow excelRow in ds.Tables[0].Rows)
{
int i = 0;
DataRow dr = tb.NewRow();
foreach (DataColumn dc in tb.Columns)
{
dr[dc] = excelRow[i];
i++;
}
tb.Rows.Add(dr);
}
//在DataGridView中显示导入的数据
dgv.DataSource = tb;
}
- 将Excel的数据导入DataGridView中
- 将DataGridView中的数据导入Excel中
- 将excel中的数据导入datagridview中
- 将DataGridView中的数据导入Excel中,并显示Excel
- 在VS2005中,将DataGridView中的数据导入Excel文件
- c#将datagridview中的数据导入到Excel中(winForm)
- C#将数据从datagridView中导入到Excel
- C#实现将DataGridView中的数据导入到Excel中
- 怎么将excel数据导入到datagridview中
- C#Winform 将DataGridView中的数据导入到Excel中
- vb.net 将DataGridView数据导入到Excel的方式
- 将DataGridView中的数据导入Excel
- 将Excel导入DataGridView
- datagridview中的数据导入到excel中
- WinForm中DataGridView数据导入Excel
- datagridview数据导入Excel
- datagridview数据导入Excel
- 在VS2005中,将DataGridView中的数据导入到Excel文件中
- C++库大全
- jquery 学习笔记
- Oracle Database 10g PL/SQL Programming - PL/SQL块之简单应用
- 虚拟机使用HOST-ONLY方式共享上网
- java文件操作(一)
- 将Excel的数据导入DataGridView中
- wince bsp study
- 火影
- C++内存分配各种方法之间的区别
- jquery 语法总结
- C# socket编程 异步服务端 同步客户端(转)
- oracle优化器
- c++中“箭头(->)”和“点号(.)”操作符的区别
- String的用法