就是指定这个路径:C:\Program Files (x86)\IIS Express

因为在上传到服务器的时候,服务器读取的是在服务器上的路径,所以正确的思路应该是

把上传的Excel存在服务器上,再去读取服务器上的excel,这样就行了。

有个弊端就是,需要定期去清除存在服务器上的Excel。

 1  try
 2             {
 3                 string sheetname = TextBox1.Text.Trim();
 4                 if (string.IsNullOrEmpty(sheetname))
 5                 {
 6                     ShowAlertMessage("sheetname不可为空!");
 7                     return;
 8                 }
 9                 string username = Context.Items["UserName"].ToString();
10                 HttpPostedFile upLoadPostFile = FileUpload1.PostedFile;
11                 string upLoadPath = upLoadPostFile.FileName;
12                 int upLoadPathLength = upLoadPath.Split('\\').Length;
13                 string FileName = upLoadPath.Split('\\')[upLoadPathLength - 1].ToString();
14                 
15                 if (upLoadPath == "")
16                 {
17                     ShowAlertMessage("请选择上传文件!");
18                     return;
19                 }
20                 string excelType = upLoadPath.Split('.')[1].ToString();
21                 if (excelType != "xls" && excelType != "xlsx")
22                 {
23                     ShowAlertMessage("此文件不是xls或者xlsx格式,请重新选择上传文件格式!");
24                 }
25                 else
26                 {
27 
28                     DataSet ds = GetExcelData(upLoadPostFile, sheetname, FileName);
29                     DataTable dtInfo = ds.Tables[0];
30                     for (int i = 0; i < dtInfo.Rows.Count; i++)
31                     {
32                         string strOrderSn = dtInfo.Rows[i][0].ToString();
33                         if (string.IsNullOrEmpty(strOrderSn))
34                         {
35                             ShowAlertMessage("读取数据结束");
36                         }
37                         DataTable dtOrder = InvoiceData.GetOrderHead(strOrderSn).Tables[0];
38                         if (dtOrder.Rows.Count == 0)
39                         {
40                             throw new Exception("ChangeOrderStatusReturnGoods Error:订单不存在:" + strOrderSn + "");
41                         }
42                         string OrderStatus = dtOrder.Rows[0]["OrderStatus"].ToString();
43                         if (OrderStatus != "2")
44                         {
45                             InvoiceData.UpdateStatusByReturnGoods(strOrderSn);
46                             OrderData.OrderOperationLog(strOrderSn, username, DateTime.Now, "退货更改订单状态");
47                         }
48                     }
49                 }
50                 ShowAlertMessage("状态更改完毕!");
51             }
52             catch (Exception ex)
53             {
54                 CustomValidator1.ErrorMessage = ex.Message;
55                 CustomValidator1.IsValid = false;
56             }
View Code

相关文章: