私はExcelテンプレートをアップロードすることができ、そのテンプレートからのコンテンツはデータテーブルにフェッチされ、その後SQL Serverデータベースで更新されるaspxページを持っています。 OLEDBデータプロバイダが使用されています。上記の接続文字列でOLEDB接続文字列では、データソースはDATASOURCE = {0}とは何ですか?
Conn =new OleDbConnection(string.Format("Provider=Microsoft.ACE.OLEDB.12.0; Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1;'", filename))
、データソースがData Source ={0}
それが何を意味するとして与えられていますか?
これは、UPLOADボタンの背後にあるコードです。
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.FileName.ToString() == "")
{
lblMessage.Text = "Please select the File to Upload";
lblMessage.ForeColor = System.Drawing.Color.Red;
return;
}
string filename = Server.MapPath("Temp/" + FileUpload1.FileName.ToString());
FileUpload1.SaveAs(filename);
HttpPostedFile postedFile = this.FileUpload1.PostedFile;
OleDbConnection Conn = null;
OleDbDataAdapter DA;
DataTable DT = new DataTable();
DataTable tempDT = new DataTable();
if (Path.GetExtension(postedFile.FileName) == ".xls")
{
Conn = new OleDbConnection(string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1;'", filename));
OleDbCommand excelCmd = new OleDbCommand();
string sheet_Name = "";
excelCmd.Connection = Conn;
excelCmd.Connection.Open();
DT = excelCmd.Connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
sheet_Name = DT.Rows[0]["TABLE_NAME"].ToString();
excelCmd.Connection.Close();
if (sheet_Name == "")
{
//Throw Excption if Sheet is not present in file
}
DA = new OleDbDataAdapter(string.Format("select * from [{0}]", sheet_Name), Conn);
DA.Fill(DT);
string Qno = string.Empty;
string Qdesc = string.Empty;
string Header = string.Empty;
int Dorder;
string eAlert = string.Empty;
foreach (DataRow dr in DT.Rows)
{
if (!DT.Columns.Contains("QuestionNo"))
{
lblMessage.Text = "QuestionNo ColumnName Mismatching";
lblMessage.ForeColor = System.Drawing.Color.Red;
grd_Questions.DataBind();
return;
}
else if (!DT.Columns.Contains("QuestionDesc"))
{
lblMessage.Text = "QuestionDesc ColumnName Mismatching";
lblMessage.ForeColor = System.Drawing.Color.Red;
grd_Questions.DataBind();
return;
}
else if (!DT.Columns.Contains("Type"))
{
lblMessage.Text = "Type ColumnName Mismatching";
lblMessage.ForeColor = System.Drawing.Color.Red;
grd_Questions.DataBind();
return;
}
else if (!DT.Columns.Contains("e-Alert"))
{
lblMessage.Text = "e-Alert ColumnName Mismatching";
lblMessage.ForeColor = System.Drawing.Color.Red;
grd_Questions.DataBind();
return;
}
else if (!DT.Columns.Contains("DisplayOrder"))
{
lblMessage.Text = "DisplayOrder ColumnName Mismatching";
lblMessage.ForeColor = System.Drawing.Color.Red;
grd_Questions.DataBind();
return;
}
else
{
PQ.updateQuestion();
}
}