winform中导入excel表格

winform中导入表格的方法有很多种,这里是用Gridview来存放从表格中导入的数据的,当然在此之前你要先从工具栏中拖一个openFileDialog进来才能用

//导入按钮点击事件

private void btnImport_Click(object sender, System.EventArgs e)
{
//选择文件
this.openFileDialog1.Filter = "导入文件 (*.xls)|*.xls|所有文件 (*.*)|*.*";
                        this.openFileDialog1.Title = "选择文件";
this.openFileDialog1.RestoreDirectory = true;
                        string strFname = "";
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
strFname = this.openFileDialog1.FileName; 
}
else
return;

DataSet dsBill;
try
{
dsBill = ExcelToDataSet(strFname);
}
catch(Exception err)
{
MessageBox.Show("取EXCEL数据时发生错误!\n" + err.ToString(), "提示");
return;
}

if (dsBill == null) return;
gridControl1.DataSource = dsBill;                                                 //绑定数据集 --------- 这个不会的话去看看数据集的操作吧
gridControl1.DataMember = "TableExcel";
}

                //Excel作为数据导入
private DataSet ExcelToDataSet(string xlsFilePath)
{
string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + xlsFilePath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";
OleDbConnection connExcel = new OleDbConnection(strConn);

//打开文件
try
{
connExcel.Open();  
}
catch(Exception err)
{
MessageBox.Show("打开文件时发生错误!\n" + err.ToString(), "错误");
return null;
}

string strSQL = "select 工号 as LICENSE_NO, 姓名 as DRIVER_NAME, 年龄as OIL_COUNT from [Sheet1$]";

OleDbDataAdapter daXlsFile = new OleDbDataAdapter(strSQL,connExcel);

DataSet dsExcel = new DataSet();
//填充数据
try
{
daXlsFile.Fill(dsExcel,"TableExcel");
}
catch(Exception err)
{
MessageBox.Show("填充数据时发生错误!\n" + err.ToString(), "错误");
string a = err.ToString();
return null;
}

connExcel.Dispose();
return dsExcel;
}

其实导入excel和从数据库中存取数据的原理是一样的,从excel中读取数据的操作类似于从数据库中取数据的操作,其中string strSQL = “select 工号 as LICENSE_NO, 姓名 as DRIVER_NAME, 年龄as OIL_COUNT from [Sheet1$]”;中的工号姓名年龄一定要有对应的LICENSE_NO、DRIVER_NAME、OIL_COUNT 列,不然会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值