工具——excel上传到数据库
来源:互联网 发布:妙笔生花绘画软件 编辑:程序博客网 时间:2024/06/08 10:59
上传并保存excel 使用FileUpload(asp控件)
string strName = FileUpload1.PostedFile.FileName;//使用fileupload控件获取上传文件的文件名if (strName != "")//如果文件名存在{ bool fileOK = false; int i = strName.LastIndexOf(".");//获取。的索引顺序号,在这里。代表图片名字与后缀的间隔 string kzm = strName.Substring(i);//获取文件扩展名的另一种方法 string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower(); string newName = Guid.NewGuid().ToString();//生成新的文件名,保证唯一性 string xiangdui = @"~\AssetsManager\upload\";//设置文件相对网站根目录的保存路径 ,~号表示当前目录,在此表示根目录下的images文件夹 string juedui = Server.MapPath("~\\AssetsManager\\upload\\");//设置文件保存的本地目录绝对路径,对于路径中的字符“\”在字符串中必须以“\\”表示,因为“\”为特殊字符。或者可以使用上一行的给路径前面加上@ string newFileName = juedui + newName + kzm; if (FileUpload1.HasFile)//验证 FileUpload 控件确实包含文件 { String[] allowedExtensions = { ".xls", ".xlsx" }; for (int j = 0; j < allowedExtensions.Length; j++) { if (kzm == allowedExtensions[j]) { fileOK = true; } } } if (fileOK) { try { // 判定该路径是否存在 if (!Directory.Exists(juedui)) Directory.CreateDirectory(juedui); // 1.文件上传 FileUpload1.PostedFile.SaveAs(newFileName); UpdateInfo(newFileName);// 更新 Page.RegisterStartupScript(Guid.NewGuid().ToString(), "<script>window.parent.$.weeboxs.close();</script>"); } catch (Exception ex) { MessageBox.show(this, "上传文件失败!", ""); } } else { MessageBox.show(this, "只能够上传.xls .xlsx格式的文件!", ""); }}else{ MessageBox.show(this, "请上传文件!", "");}
上传并保存excel 使用HTML控件
/// <summary>/// 上传Excel文件/// </summary>/// <param name="inputfile">上传的控件名</param>/// <returns></returns>private string UpLoadXls(System.Web.UI.HtmlControls.HtmlInputFile inputfile){ string orifilename = string.Empty; string uploadfilepath = string.Empty; string modifyfilename = string.Empty; string fileExtend = "";//文件扩展名 int fileSize = 0;//文件大小 try { if (inputfile.Value != string.Empty) { //得到文件的大小 fileSize = inputfile.PostedFile.ContentLength; if (fileSize == 0) { throw new Exception("导入的Excel文件大小为0,请检查是否正确!"); } //得到扩展名 fileExtend = inputfile.Value.Substring(inputfile.Value.LastIndexOf(".") + 1); if (fileExtend.ToLower() != "xls" && fileExtend.ToLower() != "xlsx") { throw new Exception("你选择的文件格式不正确,只能导入EXCEL文件!"); } //路径 uploadfilepath = Server.MapPath("~/uploadxls"); //新文件名 modifyfilename = System.Guid.NewGuid().ToString(); modifyfilename += "." + inputfile.Value.Substring(inputfile.Value.LastIndexOf(".") + 1); //判断是否有该目录 System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(uploadfilepath); if (!dir.Exists) { dir.Create(); } orifilename = uploadfilepath + "\\" + modifyfilename; //如果存在,删除文件 if (File.Exists(orifilename)) { File.Delete(orifilename); } // 上传文件 inputfile.PostedFile.SaveAs(orifilename); } else { throw new Exception("请选择要导入的Excel文件!"); } } catch (Exception ex) { throw ex; } return orifilename;}
将excel文件转换成DataSet
//// <summary>/// 从Excel提取数据--》Dataset/// </summary>/// <param name="filename">Excel文件路径名</param>private void ImportXlsToData(string fileName){ try { if (fileName == string.Empty) { throw new ArgumentNullException("Excel文件上传失败!"); } string oleDBConnString = String.Empty; oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; oleDBConnString += "Data Source="; oleDBConnString += fileName; oleDBConnString += ";Extended Properties=Excel 8.0;"; OleDbConnection oleDBConn = null; OleDbDataAdapter oleAdMaster = null; DataTable m_tableName = new DataTable(); DataSet ds = new DataSet(); oleDBConn = new OleDbConnection(oleDBConnString); oleDBConn.Open(); m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); if (m_tableName != null && m_tableName.Rows.Count > 0) { m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString(); } string sqlMaster; sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); oleAdMaster.Fill(ds, "m_tableName"); oleAdMaster.Dispose(); oleDBConn.Close(); oleDBConn.Dispose(); AddDatasetToSQL(ds, 11); } catch (Exception ex) { throw ex; }}
将DataSet中的数据导入数据库
/// <summary>/// 将Dataset的数据导入数据库/// </summary>/// <param name="pds">数据集</param>/// <param name="Cols">数据集列数</param>/// <returns></returns>private bool AddDatasetToSQL(DataSet pds, int Cols){ int ic, ir; ic = pds.Tables[0].Columns.Count; if (pds.Tables[0].Columns.Count < Cols){ throw new Exception("导入Excel格式错误!Excel只有" + ic.ToString() + "列");} ir = pds.Tables[0].Rows.Count; if (pds != null && pds.Tables[0].Rows.Count > 0) { for (int i = 0; i < pds.Tables[0].Rows.Count; i++) { if (code.GetTable("select * from TT_PreSelection where percode ='"+ pds.Tables[0].Rows[i][0].ToString() + "'").Rows.Count == 0) { TT_PreSelectionEntity pse = new TT_PreSelectionEntity(); pse.percode = pds.Tables[0].Rows[i][0].ToString();//项目编号 pse.pername = pds.Tables[0].Rows[i][1].ToString();//项目名称 pse.xm_type = pds.Tables[0].Rows[i][2].ToString();//项目类型 pse.xm_zbdw = pds.Tables[0].Rows[i][3].ToString();//招标单位 pse.perarea = pds.Tables[0].Rows[i][4].ToString();//项目位置 pse.xm_zxmcode = pds.Tables[0].Rows[i][5].ToString();//主项目名称 pse.xm_lxbm = pds.Tables[0].Rows[i][6].ToString();//立项部门 pse.xm_djrq = pds.Tables[0].Rows[i][7].ToString();//登记日期 pse.xm_lxr = pds.Tables[0].Rows[i][8].ToString();//联系人 pse.xm_lxtel = pds.Tables[0].Rows[i][9].ToString();//联系电话 pse.xm_xmgk = pds.Tables[0].Rows[i][10].ToString();//项目概况 pse.xm_drr = UserCookieInfo.ur_name;// 导入人 pse.xm_drtime = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");//导入时间 int id = TT_PreSelection_BLLSub.Create_TT_PreSelectionInsert(pse); #region 操作日志 sysoperatelogEntity sysoplog = new sysoperatelogEntity(); sysoplog.so_operate = "导入项目编号:[" + pds.Tables[0].Rows[i][0].ToString() + "]"; sysoplog.so_model = "文件导入"; sysoplog.so_userid = UserCookieInfo.ur_id; sysoplog.so_username = UserCookieInfo.ur_name + "[" + UserCookieInfo.ur_phone + "]"; sysoplog.so_optime = DateTime.Now; sysoperatelog_BLLSub.Create_sysoperatelogInsert(sysoplog); #endregion oknum++; } else { errernum++; } }} else { throw new Exception("导入数据为空!"); } return true;}
删除无用的上传表格
if (filename != string.Empty && System.IO.File.Exists(filename)) { filename = filename.Replace("\\","\\\\"); if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename);//删除上传的XLS文件 } }
0 0
- 工具——excel上传到数据库
- Uploadify上传Excel到数据库
- Excel上传到Sql数据库
- 通过上传excel导入数据到数据库
- asp.net 上传excel到数据库
- 上传excel表并导入到数据库
- 上传Excel数据导入到数据库
- C#(3)-------excel上传到数据库
- 上传EXCEL文件并读取到数据库
- 读excel图片到数据库和上传图片到数据库
- Excel文件上传预览(上传到数据库后面再说)
- 上传excel到服务器端,并写入到mssql数据库
- JSP—实现图片上传到数据库
- 上传Excel并将指定数据导入到数据库
- asp.net:上传excel表格到SQL Server数据库
- ASP.NET批量上传excel数据到数据库MySql
- jsp使用SmartUpload上传EXCEL并保存到数据库.
- Asp.net上传Excel并保存到数据库
- NOIP 2015 普及组 复赛 mine 扫雷游戏
- 解决Toolbar的Icon、logo、title间距问题
- Spring Web
- Spring事务管理(详解+实例)
- 计算行列式(高斯消元?+Java+工具)
- 工具——excel上传到数据库
- vim可以很方便地编辑二进制文件
- DOS中的set命令
- c++常见笔试题(1)
- 微信公众号如何安全“涨粉”
- Hbase建表操作--shell语句
- 获取当前时间
- Windows 安装 Redis
- Linux编程之给你的程序开后门