excel 시트에서 database.i로 데이터를 가져 오는데 성공했습니다. Excel에서 데이터를 성공적으로 가져올 수 있습니다 .i 어떻게 새 행만 추가 할 수 있는지 알고 싶습니다. 이전 데이터를 추가하지 않고도 Excel 시트에서 데이터베이스로. excel 시트에서 데이터베이스로 새 행만 삽입하는 방법
for (int i = 0; i < exceltable.Rows.Count; i++)
{
if (i > 1)
{
DataRow row = exceltable.Rows[i];
object ID = row[0].ToString();
if (ID != null && !String.IsNullOrEmpty(ID.ToString().Trim()))
{
Int16 CustID = Convert.ToInt16(ID);
string CustName = row[1].ToString();
string CardScheme = row[2].ToString();
string Outlet = row[3].ToString();
string TerminalNum = row[4].ToString();
Int32 Terminal = Convert.ToInt32(TerminalNum);
string Date1 = row[5].ToString();
DateTime Date = Convert.ToDateTime(Date1);
string Time = row[6].ToString();
DateTime DateTime = Convert.ToDateTime(Time);
string Amount1 = row[7].ToString();
double Amount = Convert.ToDouble(Amount1);
string columnNames = "CustID,CustName,CardScheme,Outlet,TerminalNum,TranDate,TranDateTime,Amount";
string query1 = String.Format("insert into customer({0})values ('{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", columnNames, CustID, CustName, CardScheme, Outlet, Terminal, Date, DateTime, Amount);
SqlCommand com = new SqlCommand(query1, connection);
com.ExecuteNonQuery();
}
**// else if (i==exceltable.Rows[exceltable.Rows.Count-1]-1)
//{
// DataRow Newrow = exceltable.NewRow();
// Newrow["CustID"] = row[0].ToString();
// Newrow["CustName"] = row[1].ToString();
// Newrow["CardScheme"] = row[2].ToString();
// Newrow["Outlet"] = row[3].ToString();
// Newrow["TerminalNum"] = row[4].ToString();
// Newrow["TranDate"] = row[5].ToString();
// Newrow["TranDateTime"] = row[6].ToString();
// Newrow["Amount"] = row[7].ToString();
// exceltable.Rows.Add(Newrow);
// exceltable.AcceptChanges();
//}**
}
}
DataRow lastrow=exceltable.Rows[exceltable.Rows.Count-1];
if(!String.IsNullOrEmpty(lastrow.ToString().Trim()))
{
string Count = lastrow[4].ToString();
Int16 TotalRows = Convert.ToInt16(Count);
string Sum = lastrow[7].ToString();
double TotalAmount = Convert.ToDouble(Sum);
SqlCommand cmd = new SqlCommand("insert into tblExcel(TotalRows,TotalAmount) values('"+TotalRows+"','"+TotalAmount+"')",connection);
cmd.ExecuteNonQuery();
}
return true;
}
지금 내가 어떤 guidance..above 코드가 내가 알고 싶은 database..now하는 엑셀 시트에서 데이터를 삽입하려면이 코드 내에서 새 행을 삽입하는 코드를 추가 할 필요가 또는 내가 필요합니까 다른 어딘가에 추가하고 또한 내가 그것에 대해 의심했다 .. 내가 올바른 방향으로가는 .. 내가 가이드 날 날 코멘트로 표시된 datatable의 NewRow() 메서드를 사용하여 시도했다.
RowFromExcel() 및 row.Key ..의 의미를 설명 할 수 있습니까? – Nazima
@ Nazima, RowFromExcel()은 클래스 또는 값 목록 만 반환하는 메서드입니다. 기본적으로 Excel은 Excel에서 각 셀을 능가합니다. row.Key는 셀이 그 행을 유일하게 만드는 곳입니다. 그래서 List String을 returing하고 그 행을 고유하게 만든 셀이 두 번째 셀이라고 가정 해 봅시다. 이렇게하면됩니다. var uniqueKey = rows [1]; <= 두 번째 값을 가져옵니다. 희망이 의미가 있습니다. – Jethro