【前言】
还是做的抽奖系统里的, 将人名单导入到DataSet里去。
【正文】
单击导入按钮后
private void btnLook_Click(object sender, EventArgs e)
{
//打开文件进行导入
OpenFileDialog openFile = new OpenFileDialog();
//路径
openFile.InitialDirectory = "C:\\";
//选择文件类型
openFile.Filter = "工作薄(*.xls)|*.xls|C#文件|*.cs|所有文件|*.*";
openFile.FilterIndex = 1;
openFile.RestoreDirectory = true;
//保存路径到文本框中
if (openFile.ShowDialog() == DialogResult.OK)
{
user = openFile.FileName;
}
//判断文本框内的内容从而判断是否选择了文件
try
{
if (user != "")
{
//由excel表导入到数据库的缓存中
ds = ExecelToDS(user);
MessageBox.Show("数据导入成功!");
btnLook.Visible=false;
}
else
{
MessageBox.Show("您还没有选择文件!");
}
}
catch (Exception)
{
MessageBox.Show("您还没有导入文件呦!");
}
}
ExcelToDS方法{}
//excel的版本
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
//excel默认的第一个表
strExcel = "select * from [sheet1$] where 是否中奖='否'";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
return ds;
【总结】
做了个小东西也把有用的东西都留下来。 以后做个参考, 刚刚再看这个导入,想起导出时为了提高效率用了流, 导入应该也能。 不过还没尝试过。