您的位置:首页 > 其它

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

2016-04-27 13:35 357 查看
参考:
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();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: