ドキュメント内の複数の Excel シートから MySQL データベースにデータをインポートする必要があるプロジェクトがあります。各セルには、データベース内の個別の列に入れる必要がある異なるデータがあるためです。以下に例を示します。
GST 111 GST 112 GST 114
2 2 2
03/ED/SE 54 52 53 Bio111
54
上記のように、「GST 111」の見出しはコースのタイトルを表し、「03/ED/SE」の値は登録番号を表します。54、52、および 53 の値は、コードが「GST 111」、「GST 112」、および「GST 114」のコースで、登録番号が「03/ED/SE」の学生のスコアを表します。値が
"Bi0111"
54
が達成された。これは、その場合、列にコース コード (「Bio111」など) とスコア (「54」など) の両方の値が含まれているためです。これは、学生が持ち越しコースを持っている各インスタンスで発生します。課題は、同じ列の同じセルにあるコース コードの列とコース スコアの 54 に "Bio111" を挿入できるようにすることです。私が持っているコードはこれです:
protected void insertdata_Click(object sender, EventArgs e)
{
OleDbConnection oconn = new OleDbConnection
(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Server.MapPath("example.xls") + ";
Extended Properties=Excel 8.0");//OledbConnection and
// connectionstring to connect to the Excel Sheet
try
{
//After connecting to the Excel sheet here we are selecting the data
//using select statement from the Excel sheet
OleDbCommand ocmd = new OleDbCommand("select * from [Sheet1$]", oconn);
oconn.Open(); //Here [Sheet1$] is the name of the sheet
//in the Excel file where the data is present
OleDbDataReader odr = ocmd.ExecuteReader();
string fname = "";
string lname = "";
string mobnum = "";
string city = "";
string state = "";
string zip = "";
while (odr.Read())
{
fname = valid(odr, 0);//Here we are calling the valid method
lname = valid(odr, 1);
mobnum = valid(odr, 2);
city = valid(odr, 3);
state = valid(odr, 4);
zip = valid(odr, 5);
//Here using this method we are inserting the data into the database
insertdataintosql(fname, lname, mobnum, city, state, zip);
}
oconn.Close();
}
catch (DataException ee)
{
lblmsg.Text = ee.Message;
lblmsg.ForeColor = System.Drawing.Color.Red;
}
finally
{
lblmsg.Text = "Data Inserted Sucessfully";
lblmsg.ForeColor = System.Drawing.Color.Green;
}
このコードは、適切に構造化されたデータを含む単一のシートに対して機能しますが、これは私が示したようには当てはまりません.(複数のシートといくつかのセルに複数のデータがあります). ありがとう。