網頁設定一個FILEUPLOAD及BUTTON,並在BUTTON ONCLICK事件中寫入讀取程式
使用元件 Microsoft.ACE.OLEDB.12.0 需另外下載 Microsoft Access Database Engine 2010 可轉散發套件
https://www.microsoft.com/zh-tw/download/details.aspx?id=13255
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == true)
{
string pathname;
string extname;
string filename;
string uploadname;
string excelconnstr;
if (FileUpload1.HasFile == true)
{
extname = Path.GetExtension(FileUpload1.PostedFile.FileName).Substring(1);
filename = Path.GetFileNameWithoutExtension(FileUpload1.PostedFile.FileName);
uploadname = Guid.NewGuid() + "." + extname;
pathname = Server.MapPath("\\uploadfiles\\") + uploadname; //用GUID名稱+副檔案名為另存新檔的檔名
int maxrow = 0;
int maxcolum = 0;
FileUpload1.SaveAs(pathname);
switch (extname)
{
case "xls":
excelconnstr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Server.MapPath("\\") + uploadname + ";" + "Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
break;
case "xlsx":
excelconnstr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + Server.MapPath("\\") + uploadname + ";" + "Extended Properties='Excel 12.0;" + "HDR=NO;" + "IMEX=1'";
break;
default:
excelconnstr = "";
break;
}
if (string.IsNullOrEmpty(excelconnstr) == false)
{
OleDbConnection excelconn = new OleDbConnection(excelconnstr);
OleDbCommand excelcmd = new OleDbCommand("select * from [產品數量清單$]", excelconn);
OleDbDataAdapter exceldr = new OleDbDataAdapter("select * from [產品數量清單$]", excelconn);
excelconn.Close();
excelconn.Open();
DataTable exceldt = new DataTable();
exceldr.Fill(exceldt);
maxrow = exceldt.Rows.Count;
maxcolum = exceldt.Columns.Count;
string temp = exceldt.Rows[1][0].ToString();//[列][欄]
for (int i = 3; i <= maxrow; i++)
{
for (int j = 1; j <= maxcolum; j++)
{
}
}
}
}
}
}