事件式实时下载更新滚动条进度数据【分分快三

作者:编程技术

  (3)自定义控件:DownLoading

            excel.ActiveWorkbook.SaveAs(strExcelFileName ".XLS",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);

public delegate void DownLoadingCancel();
public event DownLoadingCancel DownLoadingCancelEvnet;
public DialogResult GetDialogResult {get;set;}

        /// <returns></returns>

  •   关于WebService的引用大致分为组件引用和网址引用,如图:分分快三计划 1
  •   关于WebService的部署和发布,结合本地IIS方式,如图:

        public DataSet ImportFromXML()

private static long GetRowCounts(System.Data.DataSet ds)
{
  long count = 0;
  if (ds.Tables.Count <= 0) return count;
  for (int i = 0; i < ds.Tables.Count; i )
  {
    System.Data.DataTable table = ds.Tables[i];
    count = table.Rows.Count;
  }
  return count;
}

            catch(Exception err)

分分快三计划 2

        /// 导出用户选择的XML文件

private void btnCancel_Click(object sender, EventArgs e)
{
  if(DownLoadingCancelEvnet != null)
  {
    this.GetDialogResult = DialogResult.No;
    DownLoadingCancelEvnet();
  }
}

        /// <param name="strExcelFileName">要导出的Excel文件名</param>

  关于下载更新数据于滚动条类似PrograssBar控件的问题,我网上搜索了下,总体结合大致采用微软的定时器Timer控件更新数据。

        public void ExportToXML(DataSet ds,string strXMLFileName)

static void UpdateLoading()
{
  ConvMyReord.Uil.Welcome.DownLoader downLoader = new Uil.Welcome.DownLoader();
  downLoader.Show();
  downLoader.Start();
}

        /**//// <summary>

  (1)主程序入口:

            }

效果图:

        {

public void StartLoading(System.Data.DataSet ds, DevExpress.XtraEditors.ProgressBarControl progressBar1, System.Windows.Forms.Label label1)
{
  if (ds == null) return;
  long totalCount = GetRowCounts(ds);
  LoadingData(totalCount, ds, progressBar1, label1);
}

            doExportXML(ds,strXMLFileName);

  (4)DownLoadHelper帮助类:

                colIndex ;    

  在网上发现了典型的例子是使用TImer定时器和BackgroundWorker组件的结合更新PrograssBar进度的操作,网址如下:

        #endregion

  • "%";
        System.Windows.Forms.Application.DoEvents();
      }
    }

            

/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
  Application.EnableVisualStyles();
  Application.SetCompatibleTextRenderingDefault(false);
  //Application.Run(new Form1());
  System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(UpdateLoading));
  thread.Start();
}

        #endregion

  但是使用Timer定时器更新滚动条并非实时更新数据,顶多只是尽量模拟程序执行的步骤,本篇文章采用另一种下载更新滚动条数据的方式来实现实时更新数据,结合WebService网络服务和线程执行操作。

            }

 

        /**//// <summary>

public delegate void DownLoadProgress(long total, long current);
public event DownLoadProgress DownLoadProgressEvent;

        {

  分分快三计划 3

            return ds;

private void downLoading_DownLoadingCancelEvnet()
{
  if (_downLoading != null && _downLoading.GetDialogResult == DialogResult.No)
  Application.Exit();
}

        #endregion

public void LoadingData(long totalCount, System.Data.DataSet ds, DevExpress.XtraEditors.ProgressBarControl progressBar1, System.Windows.Forms.Label label1)
{
  if (totalCount <= 0 || ds.Tables.Count <= 0) return;
  long count = 0;
  for (int i = 0; i < ds.Tables.Count; i )
  {
    System.Data.DataTable table = ds.Tables[i];
    if (table == null || table.Rows.Count <= 0) continue;
    for (int j = 0; j < table.Rows.Count; j )
    {
       count;
      System.Windows.Forms.Application.DoEvents();
      if (DownLoadProgressEvent != null)
      DownLoadProgressEvent(100, (100/totalCount) * count);
       System.Threading.Thread.Sleep(100);
    }
  }
}

        {

  以上是我前段时间自己编的部分程序,考虑从内存空间和效率上都存在不足,本篇主要是让大家了解事件式实时更新滚动条数据的编程思路,不足之处,请留言赐教。
  A young idler  ~  an old beggar !

        /// </summary>

  (2)DownLoader类:

        /// <param name="strFileName">XML文件名</param>

分分快三计划 4

        /// 从选择的XML文件导入

//同步更新UI
private void downloader_onDownLoadProgress(long totalCount, long current)
{
  float percent = 0;
  if (this.InvokeRequired)
  {
    this.Invoke(new DownLoadHelper.DownLoadProgress(downloader_onDownLoadProgress), new object[] { totalCount, current });
  }
  else
  {
    if (this.progressBarControl1.Properties.Maximum == this.progressBarControl1.Position)
    {
      this.GetDialogResult = DialogResult.Yes;
      this.btnCancel.Enabled = false;
    }
    this.progressBarControl1.Properties.Maximum = (int)totalCount;
    this.progressBarControl1.Position = (int)current;
    percent = (float)current / (float)totalCount * 100;
    this.lblDownLoad.Text = "当前补丁下载进度:" percent.ToString()

        /// 执行导入

 

        }

public void Start()
{
  if (_downLoading == null) _downLoading = new DownLoading();
  _downLoading.Dock = DockStyle.Fill;
  this.pnlMain.Controls.Add(_downLoading);
  _downLoading.DownLoadingCancelEvnet = downLoading_DownLoadingCancelEvnet;
  _downLoading.StartDownLoading();
}

            this.openFileDlg.Filter = "Excel文件 (*.xls)|*.xls";

public void StartDownLoading()
{
  ConvMyReord.WebReference.ConverRecordWebService converRecordWebService
  = new WebReference.ConverRecordWebService();
  System.Data.DataSet ds = converRecordWebService.DownLoadingScoure();//调用服务方法
  DownLoadHelper downLoadHelper = new DownLoadHelper();
  downLoadHelper.DownLoadProgressEvent = downloader_onDownLoadProgress;
  downLoadHelper.StartLoading(ds, this.progressBarControl1, lblDownLoad);
}

            return ExcelDs;

分分快三计划 5

                

                    colIndex ;

            openFileDlg.Filter= "xml文件 (*.xml)|*.xml";

        /**//// <summary>

        }

            try

            catch{}

    

        /// <param name="ds">要导出的DataSet</param>

        {

        /// </summary>

            try{ds.ReadXml(strFileName,System.Data.XmlReadMode.ReadSchema);}

            excel.Quit();

            this.openFileDlg.DefaultExt = "xls";

        /// <returns></returns>

            DataSet ExcelDs = new DataSet();

                foreach(DataColumn col in table.Columns)

            if (openFileDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) 

        {

            {System.Windows.Forms.MessageBox.Show(ex.Message,"Errol") ;}    

            DataSet ds=new DataSet();

        /// <param name="ds">DataSet</param>

                excel.Cells[1,colIndex]=col.ColumnName;                

        /// <param name="ds">要导出的DataSet</param>

        }

            foreach(DataRow row in table.Rows)

            //excel.Save(strExcelFileName);

    public class ImportExportToExcel

            return ds;

        /// <param name="strFileName">Excel文件名</param>

        /**//// <summary>

            {

            openFileDlg.DefaultExt="xml";

                ds=doImport(openFileDlg.FileName);

        /**//// <summary>

            excel=null;

            }

            System.Windows.Forms.SaveFileDialog saveFileDlg=new System.Windows.Forms.SaveFileDialog(); 

        /// 导出用户选择的Excel文件

        /// 执行导出

            if (strFileName=="")

            excel.Sheets[0] = "sss";

            ds=doImport(strFileName);

        private string strConn ;

        public void ExportToExcel(DataSet ds)

        

        /**//// <summary>

            if (ds.Tables.Count==0 || strXMLFileName=="") return;

        private System.Windows.Forms.SaveFileDialog saveFileDlg=new System.Windows.Forms.SaveFileDialog();      

        }

        {

            System.Data.DataTable table=ds.Tables[0] ;

                return null;

        

                doExportXML(ds,saveFileDlg.FileName);

        /// </summary>

                rowIndex ;

        /// </summary>

                "Data Source="  strFileName ";"

        /// <returns>DataSet</returns>

        }

        /// <param name="strXMLFileName">要导出的XML文件名</param>

        从XML导入到Dataset#region 从XML导入到Dataset

                System.Console.WriteLine( err.ToString() );

        }

            return ds;

            //            Excel.Workbook obj=new Excel.WorkbookClass();

            //

            if (saveFileDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) 

        //        {

        /// 从指定的Excel文件导入

            return ds;

        private void doExport(DataSet ds,string strExcelFileName)

            if (saveFileDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) 

            

        }

            System.Windows.Forms.OpenFileDialog openFileDlg=new System.Windows.Forms.OpenFileDialog();

        /**//// <summary>

        /// 导出指定的XML文件

        public ImportExportToExcel()

            // TODO: 在此处添加构造函数逻辑

        /// 从指定的XML文件导入

        public DataSet ImportFromExcel()

        #endregion

        //        /// <returns>返回DataSet</returns>

        /// </summary>

            excel.Application.Workbooks.Add(true);

        }

        /**//// <summary>

            OleDbDataAdapter ExcelDA = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);

    }

            

            

        {

        /// </summary>

        private void doExportXML(DataSet ds,string strXMLFileName)

            this.saveFileDlg.Filter= "Excel文件 (*.xls)|*.xls";

            DataSet ds=new DataSet();

        public void ExportToXML(DataSet ds)

        }

            DataSet ds=new DataSet();

                try{ds.ReadXml(openFileDlg.FileName,System.Data.XmlReadMode.ReadSchema);}

            if (strFileName=="") return null;

            saveFileDlg.Filter= "xml文件 (*.xml)|*.xml";

            }

        //        }

            {

        /// <param name="strExcelFileName">要导出的XML文件名</param>

        /**//// <summary>

        /// <param name="ds">要导出的DataSet</param>

            

        private DataSet doImport(string strFileName)

        /// 导出指定的Excel文件

              

        /// 从选择的Excel文件导入

            //

        public DataSet ImportFromExcel(string strFileName)

            int rowIndex=1;

            saveFileDlg.DefaultExt="xml";

        /**//// <summary>

            GC.Collect();//垃圾回收

            {

        //        /// </summary>

            

            doExport(ds,strExcelFileName);

        //        /// <summary>

            Excel.Application excel= new Excel.Application();

            

            excel.Visible=false;    

        }

        {

            int colIndex=0;

                ExcelDA.Fill(ExcelDs, "ExcelInfo");

        /// </summary>

        从DataSet导出到XML#region 从DataSet导出到XML

        /// <param name="ds">要导出的DataSet</param>

    

        //        /// 从Excel导入文件

        //        /// <param name="strExcelFileName">Excel文件名</param>

        public void ExportToExcel(DataSet ds,string strExcelFileName)

        /// </summary>

        /**//// <summary>

        /// </summary>

        /// <returns>DataSet</returns>

                {

            //wkbNew.SaveAs strBookName

        /// <param name="strFileName">文件名</param>

                doExport(ds,saveFileDlg.FileName);

                catch{}

        /// <param name="ds">DataSet</param>

            catch(Exception ex)

            if (ds.Tables.Count==0 || strExcelFileName=="") return;

                }

        }

        {

        }

            

        {

            

        从Excel文件导入到DataSet#region 从Excel文件导入到DataSet

事件式实时下载更新滚动条进度数据【分分快三计划】。            try

            DataSet ds=new DataSet();

        

            foreach(DataColumn col in table.Columns)

        public DataSet ImportFromXML(string strFileName)

        /// <returns>DataSet</returns>

            {

        private System.Windows.Forms.OpenFileDialog openFileDlg=new System.Windows.Forms.OpenFileDialog();

                "Extended Properties=Excel 8.0;";

        /// </summary>

                    excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();

            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;"

                colIndex=0;

    {

        /// </summary>

            {ds.WriteXml(strXMLFileName,System.Data.XmlWriteMode.WriteSchema );}

        

            //            obj.SaveAs("c:zn.xls",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);

        /// <param name="strExcelFileName">要导出的文件名</param>

            this.saveFileDlg.DefaultExt="xls";

        /// 执行导出

        //        public DataSet ImportFromExcel(string strExcelFileName)

        从DataSet到出到Excel#region 从DataSet到出到Excel

        {

            if (openFileDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) 

        {

        //            return doImport(strExcelFileName);

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 C# Excel