System.Data.SqlClient を使用します。
System.Data.OleDb を使用します。
private void tsmiImportTeacherInfo_Click(オブジェクト送信者、EventArgs e)
{
データセット ds;
if (ofdImport.ShowDialog()==DialogResult.OK)
{
ds = ImportExcel(this.ofdImport.ファイル名); //获得エクセル
}
それ以外
{
戻る;
}
int odr = 0;
SqlConnection cn = db.sqlconnection();
試す
{
cn.Open();
string str = "教師 (TeacherId,Pwd,eachCourse,TeacherName) の値 (@TeacherId,@Pwd,@TeachCourse,@TeacherName) に挿入";
SqlCommand cmd = db.sqlcommand(str,cn);
int dsLength = ds.Tables[0].Rows.Count; //Excel 内のデータの長さを取得します
for (int i = 0; i < dsLength; i++)
{
cmd.Parameters.Add("@TeacherId", SqlDbType.VarChar, 50).Value = ds.Tables["Teacher "].Rows[i][0];
cmd.Parameters.Add("@Pwd", SqlDbType.VarChar, 50).Value = ds.Tables["Teacher "].Rows[i][1];
cmd.Parameters.Add("@TeachCourse", SqlDbType.VarChar, 300).Value = ds.Tables["Teacher "].Rows[i][2];
cmd.Parameters.Add("@TeacherName", SqlDbType.VarChar, 50).Value = ds.Tables["Teacher "].Rows[i][3];
odr = cmd.ExecuteNonQuery();//提交
cmd.Parameters.Clear(); //削除前の価格
}
//結果がデータに到達した場合、才使用制御分页按钮生效
if (odr > 0)
{
MessageBox.Show("导入成功!", "系统提案", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
cn.Close();
}
catch (例外例)
{
元を投げます。
}
}
public static DataSet ImportExcel(文字列ファイル)
{
FileInfo FileInfo = 新しい FileInfo(ファイル);
if (!FileInfo.Exists)
{
null を返します。
}
string strcn = @"Provider=Microsoft.ACE.OLEDB.12.0;データ ソース=" + file + ";拡張プロパティ ='Excel 12.0 Xml;HDR=YES;IMEX=1;'";
OleDbConnection cn = 新しい OleDbConnection(strcn);
DataSet ds = 新しい DataSet();
試す
{
cn.Open();
string strcmd = "[Sheet1$] から * を選択";
OleDbDataAdapter da = 新しい OleDbDataAdapter(strcmd,cn);
da.Fill(ds, "先生 ");
DSを返します。
}
catch (例外例)
{
元を投げます。
}
}
本文は CSDN 博客、转下请标明出处より: http://blog.csdn.net/crx05/archive/2009/12/17/5023589.aspx
-