婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 進度條在.net導入Excel時的應用實例

進度條在.net導入Excel時的應用實例

熱門標簽:電銷語音機器人型號參數 百度地圖怎樣做地圖標注 400電話如何申請取消 騰訊地圖標注手機 昆明語音電銷機器人價格 征途美甲店地圖標注 太原400電話上門辦理 柳州電銷機器人公司 浦發電話機器人提醒還款

本文實例講述了進度條在.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 templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm");
            StreamReader reader = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312"));
            string html = reader.ReadToEnd();
            reader.Close();
            Response.Write(html);
            Response.Flush();
            System.Threading.Thread.Sleep(1000);

            string jsBlock;
            // 處理完成
            jsBlock = "script>BeginTrans('正在加載數據,請耐心等待...');/script>";
            Response.Write(jsBlock);
            Response.Flush();

             string fileName = fuGlossaryXls.PostedFile.FileName.Substring(fuGlossaryXls.PostedFile.FileName.LastIndexOf("\\") + 1);//獲取準備導入文件的文件名
             string suffix = fileName.Substring(fileName.LastIndexOf(".") + 1);//獲取準備導入文件的后綴名
            
             System.Threading.Thread.Sleep(200);

             int maxrows = 0;//用來記錄需要加載的數據總行數
             bool err = false;//用來記錄加載狀態
             int errcount = 0;//用來記錄加載錯誤行數
             if (fuGlossaryXls.HasFile)//判斷當前是否有選取文件
             {
                 if (suffix == "xlsx")
                 {
                     DataTable dt = ExcelImport(fileName);
                     for (int i = 0; i dt.Rows.Count; i++)
                     {
                         maxrows++;
                     }
                     //////////拓展////////////////////////////////////////////////////////
                     //DataView myView = new DataView(dt);
                     //myView.RowFilter = "name is not null";
                     //int t = myView.Count;//獲取滿足RowFilter 條件的數據行
                     //////////拓展////////////////////////////////////////////////////////
                     string sqlconnect = "Data Source=.;Initial Catalog=test;User ID=sa;Password=123456;";//本地數據庫鏈接
                     SqlConnection conn = new SqlConnection(sqlconnect);
                     SqlTransaction myTrans = null;
                     try
                     {
                         SqlCommand cmd = new SqlCommand(null, conn);
                         conn.Open();
                         myTrans = conn.BeginTransaction();
                         cmd.Transaction = myTrans;
                         cmd.CommandText = "delete from test";
                         cmd.ExecuteNonQuery();//首先執行清除表內容操作
                         for (int j = 0; j dt.Rows.Count; j++)//循環向數據庫中插入excel數據
                         {
                             if (string.IsNullOrEmpty(dt.Rows[j][0].ToString()))
                             {
                                 jsBlock = "script>EndTrans('第" + j.ToString() + "行數據寫入錯誤。');/script>";
                                 Response.Write(jsBlock);
                                 Response.Flush();
                                 err = true;
                                 errcount++;
                             }
                             else
                             {
                                 cmd.CommandText = string.Format("insert into test values('{0}','{1}','{2}','{3}')", dt.Rows[j][0], dt.Rows[j][1], dt.Rows[j][2], dt.Rows[j][3]);
                                 cmd.ExecuteNonQuery();//逐行向表中插入數據,注意字段的對應
                             }
                             System.Threading.Thread.Sleep(1000);
                             float cposf = 0;
                             cposf = 100 * (j + 1) / maxrows;
                             int cpos = (int)cposf;
                             jsBlock = "script>SetPorgressBar('已加載到第" + (j + 1).ToString() + "條','" + cpos.ToString() + "');/script>";
                             Response.Write(jsBlock);
                             Response.Flush();
                         }
                         myTrans.Commit();//提交
                     }
                     catch (Exception ex)
                     {
                         myTrans.Rollback();//回滾
                         ClientScript.RegisterStartupScript(this.GetType(), "alert", "script>alert('" + ex.Message + "');/script>");
                     }
                     finally
                     {
                         conn.Dispose();
                         conn.Close();//關閉數據庫連接
                     }
                 }
                 else
                 {
                     ClientScript.RegisterStartupScript(GetType(), "", "alert('請選擇Excel文件!');", true);
                 }
             }
             else
             {
                 ClientScript.RegisterStartupScript(GetType(), "", "alert('請選擇要導入的Excel!');", true);
             }
             if (!err)//加載中并沒有出現錯誤
             {
                 // 處理完成
                 jsBlock = "script>EndTrans('處理完成。');/script>";
                 Response.Write(jsBlock);
                 Response.Flush();
             }
             else
             {
                 jsBlock = "script>EndTrans('共有"+maxrows.ToString()+"條數據需要加載,其中 有"+errcount.ToString()+"條數據錄入錯誤!');/script>";
                 Response.Write(jsBlock);
                 Response.Flush();
             }
             System.Threading.Thread.Sleep(1000);

             endTime = DateTime.Now;//錄入完成所用時間
             TimeSpan ts1 = new TimeSpan(startTime.Ticks);
             TimeSpan ts2 = new TimeSpan(endTime.Ticks);
             TimeSpan ts = ts2.Subtract(ts1).Duration(); //取開始時間和結束時間兩個時間差的絕對值
             String spanTime = ts.Hours.ToString() + "小時" + ts.Minutes.ToString() + "分" + ts.Seconds.ToString() + "秒";
             jsBlock = "script>SetTimeInfo('加載完成,共用時" + spanTime + "');/script>";
             Response.Write(jsBlock);
             Response.Flush();

        }
        public DataTable ExcelImport(string fileName) //建立Excel表鏈接,返回Excel表數據
        {
                //EXCEL 的連接串
                string sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
                "Data Source=C:\\Documents and Settings\\Administrator\\桌面\\" + fileName + ";" +
                "Extended Properties='Excel 8.0;IMEX=1';";
                //string sConnectionString = "Microsoft.ACE.OLEDB.4.0;" +
                //"Data Source=C:\\Documents and Settings\\Administrator\\桌面\\" + fileName + ";" +
                //"Extended Properties='Excel 8.0;IMEX=1';";
                OleDbConnection objConn = new OleDbConnection(sConnectionString);//建立EXCEL的連接

//說明:程序運行到這里的時候有時會出錯“未在本地計算機上注冊“Microsoft.ACE.OLEDB.12.0”提供程序”,此時大多數情況下我們只需要去http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe下載一個AccessDatabaseEngine.exe安裝即可,原因在于你的office沒有安裝ACCESS組件
                objConn.Open();
                OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);
                OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
                objAdapter1.SelectCommand = objCmdSelect;
                DataSet objDataset1 = new DataSet();
                objAdapter1.Fill(objDataset1, "XLData");
                DataTable dt = objDataset1.Tables[0];
                //DataView myView = new DataView(dt);
                objConn.Close();//關閉EXCEL的連接
                return dt;
}

三、項目執行過程中的效果圖展示如下:


 

 

 

 

 

 


這個是程序測試中使用的excel表格實例。

希望本文所述對大家的.net程序設計有所幫助。

您可能感興趣的文章:
  • Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
  • VB.NET進度條的方法代碼
  • asp.net(c#)開發中的文件上傳組件uploadify的使用方法(帶進度條)
  • asp.net 在客戶端顯示服務器端任務處理進度條的探討
  • asp.net 生成靜態頁時的進度條顯示
  • 利用Asp.Net回調機制實現進度條
  • asp.net web大文件上傳帶進度條實例代碼
  • ASP.NET實現用圖片進度條顯示投票結果
  • ASP.NET技巧:教你制做Web實時進度條
  • asp.net導出excel數據的常見方法匯總
  • ASP.NET中上傳并讀取Excel文件數據示例
  • asp.net讀取excel文件的三種方法示例
  • .NET操作Excel實例分享

標簽:白山 陽泉 新疆 江蘇 德陽 天門 張家界 蘭州

巨人網絡通訊聲明:本文標題《進度條在.net導入Excel時的應用實例》,本文關鍵詞  進度,條,在,.net,導入,Excel,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《進度條在.net導入Excel時的應用實例》相關的同類信息!
  • 本頁收集關于進度條在.net導入Excel時的應用實例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美日韩视频在线观看一区二区三区| 久久久久久**毛片大全| 成人小视频免费在线观看| 麻豆国产欧美一区二区三区| 亚洲一区二区精品久久av| 亚洲精品成人天堂一二三| 亚洲国产精品久久久久秋霞影院 | 国产一区二区日韩精品| 香蕉久久夜色精品国产使用方法| 亚洲精品免费视频| 亚洲在线视频网站| 亚洲五月六月丁香激情| 日韩avvvv在线播放| 毛片不卡一区二区| 国产乱码精品一品二品| 国产成都精品91一区二区三| 99久久综合狠狠综合久久| 91女厕偷拍女厕偷拍高清| 欧美在线免费观看亚洲| 欧美一级片在线| 国产欧美va欧美不卡在线| 亚洲视频1区2区| 日韩福利视频导航| 国产一区二区剧情av在线| 91精品国产91久久综合桃花| 日韩一区二区在线播放| 国产午夜精品久久久久久免费视| 国产日韩欧美制服另类| 亚洲制服丝袜一区| 国产综合色在线视频区| 91在线观看一区二区| 欧美日韩中文另类| 国产欧美日韩卡一| 三级不卡在线观看| 成人污视频在线观看| 欧美日韩不卡在线| 国产精品亲子伦对白| 亚洲国产精品久久久男人的天堂 | 2017欧美狠狠色| 亚洲乱码国产乱码精品精98午夜| 日本不卡123| 不卡区在线中文字幕| 日韩一区二区电影| 亚洲欧美电影院| 夜夜揉揉日日人人青青一国产精品| 午夜欧美一区二区三区在线播放| 理论电影国产精品| a4yy欧美一区二区三区| 精品剧情在线观看| 亚洲国产精品一区二区久久恐怖片| 国产综合成人久久大片91| 欧美三级三级三级爽爽爽| 久久久久88色偷偷免费| 日韩国产在线观看| 欧美午夜精品一区| 一区二区三区四区精品在线视频 | 久久精品男人的天堂| 性久久久久久久| 欧美优质美女网站| 亚洲欧美综合网| 成人综合在线观看| 久久毛片高清国产| 久久蜜桃av一区精品变态类天堂| 精品在线观看视频| 欧美三级电影网| 亚洲麻豆国产自偷在线| 粉嫩aⅴ一区二区三区四区| 欧美精品一区二区三区在线| 日本三级亚洲精品| 欧美一级xxx| 日本强好片久久久久久aaa| 3751色影院一区二区三区| 一区二区三区国产| 色偷偷久久一区二区三区| 成人免费小视频| 99re8在线精品视频免费播放| 国产拍欧美日韩视频二区| 国产精品自拍在线| 国产精品少妇自拍| 成人av网址在线| 国产精品国产三级国产三级人妇 | 91在线看国产| 国产精品成人一区二区三区夜夜夜 | 91福利视频在线| 亚洲第一电影网| 精品久久久网站| av色综合久久天堂av综合| 一区在线观看免费| 欧美在线免费播放| 蜜桃精品视频在线| 久久久不卡网国产精品二区 | 欧美午夜理伦三级在线观看| 亚洲伊人色欲综合网| 欧美精品高清视频| 美女视频一区二区| 中文字幕av一区二区三区| 99国产精品久久久久久久久久 | 粉嫩一区二区三区在线看| 国产精品白丝在线| 欧美老年两性高潮| 国产伦精品一区二区三区视频青涩 | 日韩精品自拍偷拍| 成人精品一区二区三区四区| 一区二区在线观看视频| 欧美一区二区三区婷婷月色| 国产在线看一区| 一区二区三区资源| 精品国产1区二区| 色婷婷久久久综合中文字幕| 日韩福利电影在线观看| 国产精品视频yy9299一区| 欧美精品免费视频| 国产精华液一区二区三区| 一区二区三区91| 久久久99精品久久| 欧美顶级少妇做爰| 一本大道av伊人久久综合| 激情小说欧美图片| 亚洲高清一区二区三区| 日本一区二区电影| 日韩一区二区精品葵司在线| 91麻豆免费观看| 成人手机在线视频| 久久99精品久久久久久国产越南 | 国产在线一区二区综合免费视频| 一区二区三区四区激情 | 日韩欧美亚洲国产精品字幕久久久| 国产91精品免费| 日本不卡123| 亚洲一区二区视频| 综合久久久久综合| 国产丝袜美腿一区二区三区| 欧美日韩国产bt| 99riav久久精品riav| 成人午夜免费视频| 国产精品原创巨作av| 九九九精品视频| 免费观看在线综合色| 午夜伊人狠狠久久| 亚洲一区二区av在线| 亚洲日本成人在线观看| 国产欧美日韩一区二区三区在线观看| 日韩一级高清毛片| 日韩一卡二卡三卡国产欧美| 91精选在线观看| 欧美人狂配大交3d怪物一区| 欧美午夜精品一区| 欧美系列日韩一区| 欧美精品一二三| 日韩一区二区三免费高清| 欧美精品一卡二卡| 欧美一区二区女人| 日韩欧美成人一区| 欧美精品一区二区三区很污很色的| 欧美电影免费观看高清完整版 | 欧美videos中文字幕| www激情久久| 国产免费观看久久| 亚洲精品成人在线| 石原莉奈一区二区三区在线观看| 午夜精品福利视频网站| 日韩影视精彩在线| 国产最新精品免费| 波多野结衣中文字幕一区二区三区| 99久久久久免费精品国产| 色94色欧美sute亚洲线路一久| 91视频观看视频| 欧美日韩免费一区二区三区视频| 欧美精品乱人伦久久久久久| 久久网站最新地址| 自拍视频在线观看一区二区| 亚洲一二三四区不卡| 久久精品国产在热久久| 成人免费视频caoporn| 欧亚一区二区三区| 日韩免费电影网站| 中文字幕一区二区三区视频 | 成人国产在线观看| 在线视频综合导航| 日韩久久久精品| 亚洲色图清纯唯美| 老司机免费视频一区二区| 99久久伊人网影院| 欧美一区国产二区| 1024精品合集| 久久99国产精品免费网站| 99国产欧美久久久精品| 日韩欧美成人一区| 亚洲午夜精品久久久久久久久| 国产综合色视频| 欧美日韩国产精品成人| 国产精品乱码久久久久久| 亚洲va韩国va欧美va精品| 风间由美一区二区三区在线观看 | 欧美军同video69gay| 中文字幕一区在线观看| 精品一区二区三区久久| 欧美日韩一区久久| 亚洲免费成人av| 国产成人免费视频网站高清观看视频|