4
Excel 파일에서 SQL Server 데이터베이스로 데이터를 가져 오려고합니다. 어디 엑셀에서 첫 번째 행에서 데이터 테이블이 시작되지 않습니다. 여기ASP.NET C#을 사용하여 SQL Server로 Excel 데이터를 가져 오는 방법 테이블의 데이터가 첫 번째 행에서 시작하지 않는 위치는 무엇입니까?
클릭 버튼이 내 코드 : 그냥이 그림과 같이
protected void btnUpload_Click(object sender, EventArgs e)
{
if (fileUpload.HasFile)
{
string path = string.Concat(Server.MapPath("~/File/" + fileUpload.FileName));
fileUpload.SaveAs(path);
string connExcelString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", path);
OleDbConnection ExcelConn = new OleDbConnection(connExcelString);
try
{
OleDbCommand cmd = new OleDbCommand("select * from [Sheet1$]", ExcelConn);
ExcelConn.Open();
OleDbDataReader dr = cmd.ExecuteReader();
string connSql = @"Data Source=.; Database=dbtest; User Id=sa; Password=mypassword;";
SqlBulkCopy bulkcopy = new SqlBulkCopy(connSql);
SqlBulkCopyColumnMapping mapNPM = new SqlBulkCopyColumnMapping("npm", "npm");
bulkcopy.ColumnMappings.Add(mapNPM);
SqlBulkCopyColumnMapping mapProdi = new SqlBulkCopyColumnMapping("prodi", "prodi");
bulkcopy.ColumnMappings.Add(mapProdi);
SqlBulkCopyColumnMapping mapGrade = new SqlBulkCopyColumnMapping("grade", "grade");
bulkcopy.ColumnMappings.Add(mapGrade);
bulkcopy.DestinationTableName = "testUpload";
bulkcopy.WriteToServer(dr);
msg.Text = "success";
}
catch (Exception ex)
{
msg.Text = ex.Message.ToString();
}
finally
{
ExcelConn.Close();
}
}
}
내가 파일을 업로드하려고
는 첫 번째 행과 엑셀 데이터 테이블, 데이터는 SQL로 성공적인 수입했다 섬기는 사람. 그러나 파일 데이터가 그 그림처럼 보이면 메시지 반환은 다음과 같습니다.The given ColumnName 'npm' does not match up with any column in data source.
내 문제를 해결하도록 도와 줄 수 있습니까?
하려는 SO에서보세요 아래 기사 http://stackoverflow.com/questions/9713048/skip-first-row-in-read-of-excel-file –