DLgReport.cpp
上传用户:jzscgs158
上传日期:2022-05-25
资源大小:8709k
文件大小:3k
源码类别:

百货/超市行业

开发平台:

Visual C++

  1. // DLgReport.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ncshop.h"
  5. #include "DLgReport.h"
  6. #include "ADOConn.h"
  7. #include "MyExcel.h"
  8. #include "MyTime.h"
  9. #include "DlgPrint.h"
  10. #ifdef _DEBUG
  11. #define new DEBUG_NEW
  12. #undef THIS_FILE
  13. static char THIS_FILE[] = __FILE__;
  14. #endif
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CDLgReport dialog
  17. CDLgReport::CDLgReport(CWnd* pParent /*=NULL*/)
  18. : CDialog(CDLgReport::IDD, pParent)
  19. {
  20. //{{AFX_DATA_INIT(CDLgReport)
  21. // NOTE: the ClassWizard will add member initialization here
  22. intOpen=0;
  23. strTitle="";
  24. strSql="";
  25. //}}AFX_DATA_INIT
  26. }
  27. void CDLgReport::DoDataExchange(CDataExchange* pDX)
  28. {
  29. CDialog::DoDataExchange(pDX);
  30. //{{AFX_DATA_MAP(CDLgReport)
  31. DDX_Control(pDX, IDC_LIST1, m_listMain);
  32. DDX_Control(pDX, IDC_BUTTON2, m_Btn2);
  33. DDX_Control(pDX, IDC_BUTTON1, m_Btn1);
  34. //}}AFX_DATA_MAP
  35. }
  36. BEGIN_MESSAGE_MAP(CDLgReport, CDialog)
  37. //{{AFX_MSG_MAP(CDLgReport)
  38. ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  39. ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  40. //}}AFX_MSG_MAP
  41. END_MESSAGE_MAP()
  42. /////////////////////////////////////////////////////////////////////////////
  43. // CDLgReport message handlers
  44. BOOL CDLgReport::OnInitDialog() 
  45. {
  46. CDialog::OnInitDialog();
  47. // TODO: Add extra initialization here
  48. m_Btn1.SetXIcon(IDI_ICONBUTTON);
  49. m_Btn2.SetXIcon(IDI_ICONBUTTON);
  50. CADOConn adoMain;
  51. GetDlgItem(IDC_STATIC1)->SetFont(&ftHeader);
  52. GetDlgItem(IDC_STATIC1)->SetWindowText(strTitle);
  53. adoMain.Open(strSql);
  54. adoMain.InitList(&m_listMain,intOpen);
  55. adoMain.FillList(&m_listMain,intOpen);
  56. adoMain.ExitConnect();
  57. return TRUE;  // return TRUE unless you set the focus to a control
  58.               // EXCEPTION: OCX Property Pages should return FALSE
  59. }
  60. void CDLgReport::OnButton1() 
  61. {
  62. // TODO: Add your control notification handler code here
  63. int i=0,j=0;
  64. CMyExcel excel1;
  65. CMyTime time1;
  66. CFileDialog dlg(FALSE,"xls","C:\*.xls",OFN_NOCHANGEDIR,"EXCEL文件|*.xls");
  67. CADOConn adoMain;
  68. time1.SetNow();
  69. if(dlg.DoModal()==IDOK)
  70. {
  71. excel1.Open();
  72. excel1.AddSheet("导出");
  73. excel1.AutoRange();
  74. excel1.SetItemText(1,1,strTitle);
  75. adoMain.Open(strSql);
  76. for(i=0;i<m_listMain.GetHeaderCtrl()->GetItemCount();i++)
  77. {
  78. excel1.SetItemText(2,i+1,adoMain.GetFieldsName(i));
  79. }
  80. adoMain.ExitConnect();
  81. for(i=0;i<m_listMain.GetItemCount();i++)
  82. {
  83. for(j=0;j<m_listMain.GetHeaderCtrl()->GetItemCount();j++)
  84. {
  85. excel1.SetItemText(i+3,j+1,m_listMain.GetItemText(i,j));
  86. }
  87. }
  88. excel1.SetItemText(i+3,1,time1.GetAllString(TRUE));
  89. excel1.AutoColFit();
  90. excel1.SaveAs(dlg.GetPathName());
  91. }
  92. excel1.Exit();
  93. }
  94. void CDLgReport::OnButton2() 
  95. {
  96. // TODO: Add your control notification handler code here
  97. CDlgPrint dlg;
  98. dlg.strTitle=strTitle;
  99. dlg.strSql=strSql;
  100. dlg.m_ListMain=&m_listMain;
  101. dlg.DoModal();
  102. }