源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Excel、记事本数据导入到数据库的实现方法

  • 时间:2021-12-15 12:45 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Excel、记事本数据导入到数据库的实现方法
文件示例: Excel: [img]http://files.jb51.net/file_images/article/201310/2013102143904368.jpg[/img] 记事本: [img]http://files.jb51.net/file_images/article/201310/2013102144004853.jpg[/img] 前台代码:
[url=CartList.aspx]            </div>           </div>           <div class="tab-content detail" id="divThird" runat="server" visible="false">             <fieldset >               <p>                 <label>                   选择文件</label>                   <asp:FileUpload ID="FileUpload2" runat="server" /> <asp:RequiredFieldValidator                       ID="RequiredFieldValidator2" runat="server" ErrorMessage="请选择要提交的tTXT文件"                       ControlToValidate="FileUpload2"></asp:RequiredFieldValidator>               </p>               <p>               <label>文件示例</label><img src="../images/ex_txt.jpg" />               </p>             </fieldset>             <div class="clear"></div>            <div class="clear"></div>             <div style="margin-left:200px">                 <asp:Button ID="btnNotepad" runat="server" Text="提 交" CssClass="button"                     onclick="btnNotepad_Click"  />                                       <input class="button" type="button" value="返 回" onclick="javascript:window.location.href='CartList.aspx'" />             </div>           </div>
后台代码
//Excel上传         protected void btnExcel_Click(object sender, EventArgs e)         {                        string backStr= UploadFile(FileUpload1, "Excel",1);               if (backStr == "-1")               {                    //这里是放返回消息的,改为对应放消息的方式就行了,Js这个类就不上传了                   Js.ShowSureMsgBox(this.Page,"请选择要提交的Excel文件");                   return;               }               else if (backStr == "-2")               {                   Js.ShowSureMsgBox(this.Page, "请选择.xls或.xlsx类型文件");                   return;               }               else               {                   string url = backStr;   //绝对路径                   DataTable dt = ExcelToDataSet(url);                   if (dt.Rows.Count > 0)                   {                      for (int i = 0; i < dt.Rows.Count; i++)                      {                           //读取每行数据                                     string phoneNum= dt.Rows[i][0].ToString();                                  }                              }                   else                   {                       Js.ShowSureMsgBox(this.Page, "文件内容为空");                   }                   File.Delete(url);  //删除上传的文件               }         }         //记事本上传         protected void btnNotepad_Click(object sender, EventArgs e)         {             string backStr = UploadFile(FileUpload2, "TXT",2);             if (backStr == "-1")             {                 Js.ShowSureMsgBox(this.Page, "请选择要提交的TXT文件");                 return;             }             else if (backStr == "-2")             {                 Js.ShowSureMsgBox(this.Page, "请选择.txt类型文件");                 return;             }             else             {                 string url = backStr;   //绝对路径                 DataTable dt = ReadTXT(url);                 if (dt.Rows.Count > 0)                 {                      for (int i = 0; i < dt.Rows.Count; i++)                      {                           //读取每行数据                                     string phoneNum= dt.Rows[i][0].ToString();                                  }                                 }                 else                 {                     Js.ShowSureMsgBox(this.Page, "文件内容为空");                 }                 File.Delete(url);  //删除上传的文件             }         }         //上传文件         public string UploadFile(FileUpload FileUploadName, string varfilename,int type)         {                 if (FileUploadName.HasFile)//判断是否有上传文件                 {                     string fileExtension = System.IO.Path.GetExtension(FileUploadName.FileName).ToLower();//获取文件的后缀名                     if (type == 1)                     {                         if (fileExtension != ".xls" && fileExtension != ".xlsx")                         {                             return "-2";                         }                     }                     if (type == 2)                     {                         if (fileExtension != ".txt")                         {                             return "-2";                         }                     }                                      string fpath = System.Web.HttpContext.Current.Server.MapPath("/Manager/Uploadfiles/" + varfilename + "/");//图片存储文件夹路径,需要按照不同的需要进行相应的修改                     if (!Directory.Exists(fpath))//查看存储路径的文件是否存在                     {                         Directory.CreateDirectory(fpath);   //创建文件夹,并上传文件                     }                     string time = DateTime.Now.ToString("yyyyMMddhhmmssfff");//使用时间定义上传图片的名字                     string picturename = time + fileExtension;                     string newFilePath = fpath + picturename; //文件保存路径                     FileUploadName.SaveAs(newFilePath);                     return newFilePath;   //绝对路径                 }                 else                 {                     return "-1";   //没有文件                 }                    }         //读取Excel数据          public DataTable ExcelToDataSet(string filename)         {             string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + filename + ";Extended Properties=Excel 8.0";             OleDbConnection conn = new OleDbConnection(strCon);             conn.Open();             //返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等              DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });             //包含excel中表名的字符串数组             string[] strTableNames = new string[dtSheetName.Rows.Count];             for (int k = 0; k < dtSheetName.Rows.Count; k++)             {                 strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();             }             OleDbDataAdapter myCommand = null;             DataTable dt = new DataTable();             //从指定的表明查询数据,可先把所有表明列出来供用户选择             string strExcel = "select * from [" + strTableNames[0] + "]";             myCommand = new OleDbDataAdapter(strExcel, strCon);             myCommand.Fill(dt);             conn.Close();             return dt;         }         //读取记事本数据          public DataTable ReadTXT(string dirTXT)          {              StreamReader objReader = new StreamReader(dirTXT);              System.Data.DataTable dt = new System.Data.DataTable();              dt.Columns.Add("DN", System.Type.GetType("System.String"));              string sLine = "";              while (sLine != null)              {                  sLine = objReader.ReadLine();                  if (sLine != null && !sLine.Equals(""))                  {                      DataRow dr = dt.NewRow();                      dr[0] = sLine;                      dt.Rows.Add(dr);                  }              }              objReader.Close();              return dt;          }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部