在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文实例讲述了进度条在.net导入Excel时的应用,分享给大家供大家参考。具体实现方法如下: 在程序开发过程中,往往会涉及到将Excel表格导入到数据库中的需求,而当excel表格内容很多的时候,我们往往会很难去捕捉它的执行过程进度和一些错误信息,此时我们便可以通过以下方法去解决这些难题,具体实现过程分析如下: 一、建立一个web应用程序,在程序中首先创建一个html文件命名为ProgressBar,文件内容如下: 复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"> //开始处理 function BeginTrans(msg) { WriteText(msg); } //设置进度条进度 function SetPorgressBar(msg, pos) { ProgressBar.style.width = pos + "%"; WriteText(msg + " 已完成" + pos + "%"); } //处理结束 function EndTrans(msg) { if (msg == "") WriteText("完成。"); else WriteText(msg); } //设置时间信息 function SetTimeInfo(msg) { WriteText(msg); } // 更新文本显示信息 function WriteText(str) { var strTag = '<font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><B>' + str + '</B></font>'; document.getElementById("Msg2").innerHTML = strTag; } </script> </head> <body> <table align="center" style="height:100%"> <tr style="height:45%"><td></td></tr> <tr> <td> <div id="ProgressBarSide" style="width:300px; color:Silver;border-width:1px; border-style:Solid;"> <div id="ProgressBar" align="center" style="height:20px; width:0%; background-color:#316AC5;"></div> </div> </td> <td> <div id="Msg2" style="height:16px;"></div> </td> </tr> <tr style="height:50%"><td></td></tr> </table> </body> </html> 二、创建一个aspx页面,前后端代码分别如下: 复制代码 代码如下: //1.这里为了简便,我只写出了前端页面中的body体部分供参考:
<form id="forms" runat = "server"> <table align="center" style="height:100%"> <tr style="height:45%"><td></td></tr> <tr> <td align="center" style="height: 24px; width: 100px;"> Excel文件</td> <td style="height: 24px"> <asp:FileUpload ID="fuGlossaryXls" runat="server"/> <asp:Label ID="Label2" runat="server" Font-Bold="True" ForeColor="Red" Text="不能为空" Visible="False"></asp:Label></td> <td> <asp:Button ID="Button1" runat="server" CssClass="mybotton" Text="导入" Width="60px" onclick="Button1_Click"/></td> </tr> </table> </form> //2.后端部分代码如下: //这里是激发导入按钮点击事件 protected void Button1_Click(object sender, EventArgs e) { string cfilename = this.fuGlossaryXls.FileName;//获取准备导入的文件名称 if (cfilename == "") { Label2.Visible = true; return; } else { Label2.Visible = false; } //////////////显示进度///////////////////////////////////////////////////////////////////////////// DateTime startTime = System.DateTime.Now; DateTime endTime = System.DateTime.Now; // 根据 ProgressBar.htm 显示进度条界面 string jsBlock; string fileName = fuGlossaryXls.PostedFile.FileName.Substring(fuGlossaryXls.PostedFile.FileName.LastIndexOf("\\") + 1);//获取准备导入文件的文件名 int maxrows = 0;//用来记录需要加载的数据总行数 endTime = DateTime.Now;//录入完成所用时间 } //说明:程序运行到这里的时候有时会出错“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”,此时大多数情况下我们只需要去http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe下载一个AccessDatabaseEngine.exe安装即可,原因在于你的office没有安装ACCESS组件 三、项目执行过程中的效果图展示如下:
这个是程序测试中使用的excel表格实例。 希望本文所述对大家的.net程序设计有所帮助。 |
请发表评论