string xlsFullName = FileUpload1.PostedFile.FileName;
string FileName = FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf("\\") + 1, FileUpload1.PostedFile.FileName.Length - FileUpload1.PostedFile.FileName.LastIndexOf("\\") - 1);
//讀取路徑給Step2
Session["xlsFullName"] = xlsFullName;
Session["FileName"] = FileName;
//Session()
//HDR=Yes 代表 EXCEL 第一列為欄位名稱 IMEX=1 為將混合型態的資料一律以文字型態顯示
// string OleConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + xlsFullName + "; Extended Properties= \"Excel 8.0;HDR=NO \" ";
string OleConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + xlsFullName + ";Extended Properties='Excel 8.0;HDR=NO;'";
//string OleConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + xlsFullName + ";Extended Properties=Excel 8.0;";
DataSet ds = new DataSet();
OleDbConnection OleCn = new OleDbConnection(OleConStr);
string strSQL = @"SELECT * FROM [Sheet1$]";
try
{
OleCn.Open();
OleDbDataAdapter oledbda = new OleDbDataAdapter(strSQL, OleCn);
oledbda.Fill(ds, "NewExcel");
//Table給新欄名
ds.Tables["NewExcel"].Columns[0].ColumnName = "C1";
ds.Tables["NewExcel"].Columns[1].ColumnName = "C2";
ds.Tables["NewExcel"].Columns[2].ColumnName = "C3";
ds.Tables["NewExcel"].Columns[3].ColumnName = "C4";
ds.Tables["NewExcel"].Columns[4].ColumnName = "C5";
ds.Tables["NewExcel"].Columns[5].ColumnName = "C6";
ds.Tables["NewExcel"].Columns[6].ColumnName = "C7";
ds.Tables["NewExcel"].Columns[7].ColumnName = "C8";
GridView1.DataSource = ds.Tables["NewExcel"];
GridView1.DataBind();
}
catch
{
String scriptString = @"
";
this.RegisterStartupScript("s", scriptString);
return;
}
}
}
其他參考資料:
1. HOW TO:使用 ADO.NET 擷取與修改利用 Visual Basic .NET 之 Excel 活頁簿中的記錄
http://support.microsoft.com/kb/316934/zh-tw
2.ExcelADO 示範使用 ADO 在 Excel 活頁簿讀取和寫入資料的方法
http://support.microsoft.com/kb/278973/ZH-TW/
參考ExcelADO.exe檔
沒有留言:
張貼留言