vc导出listcontrol界面值到excel最简单的例子

来源:互联网 发布:淘宝的windows激活码 编辑:程序博客网 时间:2024/06/11 21:18

参考:

http://blog.csdn.net/suhuaiqiang_janlay/article/details/6077975



简化它,

1、新建一个基于dialog的 MFC应用程序

添加一个listcontrol控件,添加变量 m_list

添加2个button


2、OnInitDialog()的代码:

BOOL ClistexcelDlg::OnInitDialog()
{
CDialog::OnInitDialog();


// 将“关于...”菜单项添加到系统菜单中。


// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);


CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}


// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
//  执行此操作
SetIcon(m_hIcon, TRUE);// 设置大图标
SetIcon(m_hIcon, FALSE);// 设置小图标


// TODO: 在此添加额外的初始化代码
CRect rtList;
m_list.GetClientRect(rtList);
m_list.InsertColumn(0, "整机号", LVCFMT_LEFT, 50);
m_list.InsertColumn(1, _T("显示器"), LVCFMT_LEFT, 50);
m_list.InsertColumn(2, _T("条码阅读器"), LVCFMT_LEFT, 50);


m_list.SendMessage (LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_list.DeleteAllItems();


return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}



3、button1的代码:


void ClistexcelDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
m_list.InsertItem(0,"**00");
m_list.SetItemText(0,1,"**11");
m_list.SetItemText(0,2,"**22");


m_list.InsertItem(1,"1100");
m_list.SetItemText(1,1,"1111");
m_list.SetItemText(1,2,"1122");


m_list.InsertItem(2,"2200");
m_list.SetItemText(2,1,"2211");
m_list.SetItemText(2,2,"2222");




}


4、button2的代码:



void ClistexcelDlg::OnBnClickedButton2()
{
CTime time=CTime::GetCurrentTime();
CString strRptTime =time.Format("%Y%m%d%H%M%S");


// TODO: 在此添加控件通知处理程序代码
// 实现存盘
CString buff0[1024],buff1[1024],buff2[1024];

//CString fileName = "20160427文件名.xls";//保存路径为当前程序
CString fileName = "d:\\"+ strRptTime+".xls";//保存路径是d:盘根目录
CFile file(fileName, CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);


file.Write("操作\t表号\t读取类型\n",56);


int i = 0;
int j=0;
j = m_list.GetItemCount();
if( j > 0 )
{
for(i=0;i<j;i++)
{
buff0[i] = m_list.GetItemText( i, 0 );
buff1[i] = m_list.GetItemText( i, 1 );
buff2[i] = m_list.GetItemText( i, 2 );


CString msg;
msg.Format("%s\t%s\t%s\n",buff0[i],buff1[i],buff2[i]);
file.Write(msg,msg.GetLength());
}
}


file.Close();




}

0 1