标签:style blog http color java os 使用 io 文件
原文:EXCEL导入GridView,然后再汇入数据库.近日项目中有一个多笔料号要输入,我做了一个用javascript复制输入框的功能,可以输入多笔料号。
但是使用者反馈,料号太多,可能几百个料号在EXCEL文件里,这样输入很慢,需要增加功能。于是想到了SQLSERVER导入EXCEL的功能。
declare @strExcelName varchar(50)
set @strExcelName=‘c:\sl.xls‘
exec(‘select * into ##tmp from openrowset(‘‘MICROSOFT.JET.OLEDB.4.0‘‘,‘‘Excel 8.0;HDR=No;IMEX=1;DATABASE=‘+@strExcelName+‘‘‘,[Sheet1$]) ‘)
select * from ##tmp
文件上传控件:<input id="myFile" runat="server" type="file" />
Form里不需要enctype="multipart/form-data"
            if (myFile.PostedFile.FileName != "")
            {
                //上传文件的绝对路径
                string sFile = myFile.PostedFile.FileName;
                //获取文件全名
                sFile = sFile.Substring(sFile.LastIndexOf("\\") + 1);
                //获取后缀名
                sFile = sFile.Substring(sFile.LastIndexOf("."));
                if (sFile.ToLower() != ".xls")
                {
                    Response.Write("请选择Excel文件!");
                    Response.End();
                }
                //为了防止重名,获得日期为文件名年月日时分秒毫秒
                string datatime = System.DateTime.Now.ToString("yyyMMddHHmmssffff");
                //上传后文件的新名
                sFile = datatime + sFile;
                //AppDomain.CurrentDomain.BaseDirectory.ToString() 获取此项目的根目录
                //sPath 获取上传后的路径
                string sPath = AppDomain.CurrentDomain.BaseDirectory.ToString() + "ExcelFiles\\" + sFile;
                //上传文件
                myFile.PostedFile.SaveAs(sPath);
                this.myGridView.DataSource = GetExcelContent(sPath);
                this.myGridView.DataBind();
            }
        private DataSet GetExcelContent(string filepath)
        {
            string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=‘Excel 8.0;HDR=No;IMEX=1‘";
            System.Data.OleDb.OleDbConnection myConn = new System.Data.OleDb.OleDbConnection(strCon);
            string strCom = "SELECT F1 as resno,F2 as resname FROM [Sheet1$]";
            myConn.Open();
            System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, myConn);
            //创建一个DataSet对象   
            DataSet myDataSet = new DataSet();
            //得到自己的DataSet对象   
            myCommand.Fill(myDataSet);
            //关闭此数据链接   
            myConn.Close();
            return myDataSet;
        }
            string stresno = "";
            string stresname = "";
            foreach (GridViewRow row in this.myGridView.Rows)
            {
                Label txtesno = (Label)row.FindControl("labresno");
                stresno += txtesno.Text.ToString().Trim().Replace("‘", "‘‘") + ";";
                Label txtresname = (Label)row.FindControl("labresname");
                stresname += txtresname.Text.ToString().Trim().Replace("‘", "‘‘") + ";";
            }
            Response.Write(stresno + "<br/>" + stresname);
            Response.End();标签:style blog http color java os 使用 io 文件
原文地址:http://www.cnblogs.com/lonelyxmas/p/3935437.html