FileUpload上传Excel文件,Aspose导入数据至数据库(web)
2016-07-12 16:09
811 查看
第一步:引用:Aspose.Cells.dll
第二步:创建类文件,AsposeExcel.cs
第三步:界面:
第四步:后台上传事件:
第二步:创建类文件,AsposeExcel.cs
using Aspose.Cells; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; namespace MaiGanSys.Backend { public class AsposeExcel { private string outFileName = ""; private string fullFilename = ""; private Workbook book = null; private Worksheet sheet = null; #region 导入构造数 public AsposeExcel(string fullfilename) { fullFilename = fullfilename; // book = new Workbook(); //book.Open(tempfilename); //sheet = book.Worksheets[0]; } #endregion #region 导入方法 public DataTable ExcelToDatatalbe() { Workbook book = new Workbook(); book.Open(fullFilename); Worksheet sheet = book.Worksheets[0]; Cells cells = sheet.Cells; //获取excel中的数据保存到一个datatable中 DataTable dt_Import = cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, false); // dt_Import. return dt_Import; } #endregion } }
第三步:界面:
选择导入文件: <asp:FileUpload ID="FileUpload1" runat="server" /> <rongguang:button id="BtnExport" runat="server" text="数据导入" cssclass="BtnList" onclick="BtnExport_Click"></rongguang:button>
第四步:后台上传事件:
#region 数据导入 /// <summary> /// 数据导入 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void BtnExport_Click(object sender, System.EventArgs e) { Boolean fileOk = false; string path = Server.MapPath("~/Upload/"); //判断是否已经选取文件 if (FileUpload1.HasFile) { //取得文件的扩展名,并转换成小写 string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower(); //限定只能上传Excel格式 string[] allowExtension = RongGuang.Extend.VerifyUploadFile.GetSysValueByName("Excel格式").Split('|'); //对上传的文件的类型进行一个个匹对 for (int i = 0; i < allowExtension.Length; i++) { if (fileExtension == allowExtension[i]) { fileOk = true; break; } } if (fileOk) { this.WriteAjaxMessage("layer.alert('要上传的文件类型不对!!', {icon: 5});"); } //对上传文件的大小进行检测,限定文件最大不超过1M if (FileUpload1.PostedFile.ContentLength > Convert.ToInt32(RongGuang.Extend.VerifyUploadFile.GetSysValueByName("EXCEL文件大小限制(单位:byte)"))) { fileOk = false; } else { fileOk = true; } //最后的结果 if (fileOk) { try { FileUpload1.PostedFile.SaveAs(path + FileUpload1.FileName); DataTable dtI = new AsposeExcel(path+FileUpload1.FileName).ExcelToDatatalbe(); if (dtI.Rows.Count > 1 && dtI.Columns.Count == 2) { //当前登录的用户 Extend.Users User = Session[Extend.Constant.Session_CurrentUser] as Extend.Users; for (int i = 1; i < dtI.Rows.Count; i++) { MisGuidRow ORow = new MisGuidRow("MG_License"); ORow["RowGuid"] = Guid.NewGuid().ToString(); ORow["OperatorUserGuid"] = User.RowGuid; ORow["OperatorDateTime"] = DateTime.Now.ToString(); ORow["LicenseCode"] = Convert.ToString(dtI.Rows[i][0]); ORow["MacAddress"] = Convert.ToString(dtI.Rows[i][1]); ORow["IsBind"] = "0"; ORow.Insert(); } } this.RefreshGrid(); this.WriteAjaxMessage("layer.alert('数据导入成功!!', {icon: 6});"); } catch { this.WriteAjaxMessage("layer.alert('上传失败!!', {icon: 5});"); } } else { this.WriteAjaxMessage("layer.alert('文件类型或者文件大小超出1M或者文件类型不对!!', {icon: 5});"); } } } #endregion
相关文章推荐
- mysql load data 导出、导入 csv
- db2 导入导出单个表的操作详解
- SQL 导入导出Excel数据的语句
- SQLServer 数据导入导出的几种方法小结
- 通过系统数据库获取用户所有数据库中的视图、表、存储过程
- 用dos命令实现导入、导出windows计划任务详解
- SQL Server导入、导出、备份数据方法
- SQL Server数据复制到的Access两步走
- MYSQL导入导出sql文件简析
- 解决PhpMyAdmin中导入2M以上大文件限制的方法分享
- C#的Excel导入、导出
- ASP 循环导入导出数据处理 不使用缓存
- C#中csv文件与DataTable互相导入处理实例解析
- PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
- Oracle 数据库导出(exp)导入(imp)说明
- 6G数据库的导入 报各种错误的解决办法
- MySQL文本文件导入及批处理模式应用说明
- phpmyadmin导入(import)文件限制的解决办法
- 解析csv数据导入mysql的方法
- MySQL命令行导出与导入数据库