在程序开发过程中,往往会涉及到将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>
<tr><td></td></tr>
<tr>
<td>
<div>
<div></div>
</div>
</td>
<td>
<div></div>
</td>
</tr>
<tr><td></td></tr>
</table>
</body>
</html>
二、创建一个aspx页面,前后端代码分别如下:
复制代码 代码如下:
//1.这里为了简便,我只写出了前端页面中的body体部分供参考:
<form runat = "server">
<table>
<tr><td></td></tr>
<tr>
<td> Excel文件</td>
<td>
<asp:FileUpload runat="server"/>
<asp:Label runat="server" Font-Bold="True" ForeColor="Red" Text="不能为空"
Visible="False"></asp:Label></td>
<td>
<asp:Button runat="server" CssClass="mybotton" Text="导入"/></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;