komeil64
یک شنبه 20 اسفند 1391, 13:29 عصر
از طریق کد زیر یک فایل اکسل رو آپلود می کنم و توی دیتا گرید نشون میدم
string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
string fileExtension = Path.GetExtension(FileUpload1.PostedFile.FileName) ;
string fileLocation = Server.MapPath("~/App_Data/" + fileName);
FileUpload1.SaveAs(fileLocation);
string Exfilepath = fileLocation;
OleDbConnection MyConnection =
new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Exfilepath +
";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;';");
if (fileExtension == ".xlsx")
{
MyConnection =
new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Exfilepath +
";Extended Properties=\'Excel 12.0;HDR=YES;IMEX=1;';");
}
DataSet DtSet = null;
DataTable dt = new DataTable();
OleDbDataAdapter MyCommand = null;
MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection);
DtSet = new System.Data.DataSet();
MyCommand.Fill(DtSet);
dt = DtSet.Tables[0];
GridView1.DataSource = dt;
GridView1.DataBind();
که نتیجه یک فایل اکسل مثل تصویر زیر میشه
101203
حالا می خوام به صورتی که اسم فیلد و مشخصات یک رکورد رو عوض کنم اون رو توی فایل xml بنویسم
یعنی توی یک حلقه دونه دونه رکورد ها خونده بشه و پس از تغییرات روی اسمشون توی xml نوشته بشن
مثلا ردیف اول اینطور بشه
<S1>
<سند>1</سند>
<شرح سند>تست سند سه بابت تست سه</شرح سند>
<تاریخ سند>1391/11/06</تاریخ سند>
</S1>
<S2>
<سند>1</سند>
<شرح سند>تست سند سه بابت تست سه</شرح سند>
<تاریخ سند>1391/11/06</تاریخ سند>
</S2>
string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
string fileExtension = Path.GetExtension(FileUpload1.PostedFile.FileName) ;
string fileLocation = Server.MapPath("~/App_Data/" + fileName);
FileUpload1.SaveAs(fileLocation);
string Exfilepath = fileLocation;
OleDbConnection MyConnection =
new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Exfilepath +
";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;';");
if (fileExtension == ".xlsx")
{
MyConnection =
new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Exfilepath +
";Extended Properties=\'Excel 12.0;HDR=YES;IMEX=1;';");
}
DataSet DtSet = null;
DataTable dt = new DataTable();
OleDbDataAdapter MyCommand = null;
MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection);
DtSet = new System.Data.DataSet();
MyCommand.Fill(DtSet);
dt = DtSet.Tables[0];
GridView1.DataSource = dt;
GridView1.DataBind();
که نتیجه یک فایل اکسل مثل تصویر زیر میشه
101203
حالا می خوام به صورتی که اسم فیلد و مشخصات یک رکورد رو عوض کنم اون رو توی فایل xml بنویسم
یعنی توی یک حلقه دونه دونه رکورد ها خونده بشه و پس از تغییرات روی اسمشون توی xml نوشته بشن
مثلا ردیف اول اینطور بشه
<S1>
<سند>1</سند>
<شرح سند>تست سند سه بابت تست سه</شرح سند>
<تاریخ سند>1391/11/06</تاریخ سند>
</S1>
<S2>
<سند>1</سند>
<شرح سند>تست سند سه بابت تست سه</شرح سند>
<تاریخ سند>1391/11/06</تاریخ سند>
</S2>