login register Sysop! about ME  

2021년 07월 19일 22시 37분 00초,     조회수 : 498
  제목 : 닷넷질문을 드립니다. (로딩 이미지 표시하기)
SEQ : 34810 글쓴이 : bonjeong

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

안녕하세요..

닷넷으로 처음으로 프로그램을 만들어보고 있는데요.
버튼을 누르면 DB 결과값을 엑셀파일로 만드는 부분인데요.
만드는 시간이 한 10초정도 걸리더라구요..
그 사이에 로딩이미지를 넣고싶은데요..
어떻게 해야하는지 아시는 분은 답글을 좀 부탁드릴께요...

        private async Task<string> SaveExcelAsync()
        {

            string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            string path = Path.Combine(desktopPath, "Excel.xlsx");

            excelApp = new Excel.Application();
            workBook = excelApp.Workbooks.Add();
            Excel._Worksheet workSheet = (Excel._Worksheet)excelApp.ActiveSheet;

            workSheet.Cells[1, 1] = "unitnumb";
            .... (해당 칼럼헤더 채움)
            workSheet.Cells[1, 30] = "detail_gubun";

            await Task.Run(

                () => {
                        // 쿼리문 실행
                        Database DB = new Database();
                        DataTable ds = DB.ExecuteQueryDataTable(query_excel);

                        for (var i = 0; i < ds.Rows.Count; i++)
                        {
                            for (var j = 0; j < ds.Columns.Count; j++)
                            {
                                workSheet.Cells[i + 2, j + 1] = ds.Rows[i][j];
                            }
                        }

                }

            ); // e. await

            return "success";

        }

        private void ShowLoading()
        {
            loading_img.Visible = true;
        }

        protected async void btnExcelSave_Click(object sender, EventArgs e)
        {

            // 이미지 보여주기
            ShowLoading();
            var data = await SaveExcelAsync();
            ....
         }

인터넷에서 검색해서 소스들을 조합해서 해보긴했는데
엑셀파일을 다 만들고나서 로딩 이미지가 보이더라구요..
어떻게 로딩이미지 먼저보여주고 파일 다 만들면 사라지게 할지.. 방법을 잘 모르겠네요...

아래는 로딩 이미지입니다..
<div class="wrap_center">
            <asp:Image ID="loading_img" runat="server" ImageUrl="~/img/ajax-loader.gif" Visible="false" />
</div>




제목 작성자 날짜 조회
닷넷질문을 드립니다. (로딩 이미지 표시하기) bonjeong 2021-07-19 498

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})