如何在不使用保存弹出窗口的情况下创建dail报告 [英] How to create dail report without using save popup

查看:106
本文介绍了如何在不使用保存弹出窗口的情况下创建dail报告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好我即时创建一个应用程序我希望显示每日报告应该在特定时间下载我也会编写代码但是它不会工作

其实我想要的报告应该及时自动下载指定



我尝试过:



表格载入i写的

Hi all im creating one application in there i want to show daily report should be download at specific time i written code also but it wont work
Actually what i want report should download automatically in time which is specified

What I have tried:

On form load i written

 private void Form3_Load(object sender, EventArgs e)
        {
             if((DateTime.Now==DateTime.Today) &&(DateTime.Now.Hour==22) &&(DateTime.Now.Minute==00))
            {
                report_data();
            }
}



发表report_data方法


made report_data method

private void report_data()
      {
          OleDbConnection cnn = new OleDbConnection();
          string sql = null;
          string data = null;
          int i = 0;
          int j = 0;

          Excel.Application xlApp;
          Excel.Workbook xlWorkBook;
          Excel.Worksheet xlWorkSheet;
          object misValue = System.Reflection.Missing.Value;

          xlApp = new Excel.Application();
          xlWorkBook = xlApp.Workbooks.Add(misValue);
          xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
          string connectionString = null;
          connectionString = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString;
          cnn.ConnectionString = connectionString;
          cnn.Open();
          sql = "SELECT User_name,Sales_count from LOGIN  order by User_ID desc";
          OleDbDataAdapter dscmd = new OleDbDataAdapter(sql, cnn);
          DataSet ds = new DataSet();
          dscmd.Fill(ds);
          cnn.Close();

          for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
          {

              for (j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
              {
                  xlWorkSheet.Cells[1, j + 1] = ds.Tables[0].Columns[j].Caption;
                  data = ds.Tables[0].Rows[i].ItemArray[j].ToString();
                  xlWorkSheet.Cells[i + 2, j + 1] = data;
              }
          }

          System.Windows.Forms.SaveFileDialog saveDlg = new System.Windows.Forms.SaveFileDialog();
          saveDlg.InitialDirectory = @"C:\";
          saveDlg.Filter = "Excel files (*.xls)|*.xls";
          saveDlg.FilterIndex = 0;
          saveDlg.RestoreDirectory = true;
          saveDlg.Title = "Export Excel File To";
          xlWorkBook.Close(true, misValue, misValue);
          //xlWorkSheet.Name = "Daily_report" + DateTime.Now.ToString("ddMMyyyHHmmss"
          MessageBox.Show("File Downloaded successfully...");
          xlApp.Quit();
          releaseObject(xlWorkSheet);
          releaseObject(xlWorkBook);
          releaseObject(xlApp);

      }

推荐答案

我建​​议为Windows调度程序创建任务,它可以随时运行你的应用程序,而不是检查你的时间。申请。



详情请见: Schtasks:管理服务 [ ^ ]



所以,改变y我们的应用程序运行 report_data 子程序,报告完成后,应用程序自行完成。
I'd suggest to create task for windows scheduler, which is able to run your application at any time, instead of checking the time in your application.

For further details, please see: Schtasks: Management Services[^]

So, change your app to run report_data subroutine and when the report is finished, the application finishes itself.


这篇关于如何在不使用保存弹出窗口的情况下创建dail报告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆