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();
}
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();
}
相关文章推荐
- apple Pay
- 文章标题
- 图片转PDF
- 基于Bootstrap的jQuery form表单验证插件
- exception handling
- mybatis 不识别>= <=号
- GUI for git|SourceTree|入门基础
- 推排序举例
- 服务的生命周期-采用start的方式开启服务
- Android Studio MultiDex 分包碰到的坑
- 团队冲刺第一阶段个人工作总结9
- scala根据运行环境加载配置文件
- 解析ntfs底层结构
- centos7 安装vnc服务
- 使用Powershell批量获取Exchange 2013邮箱用户容量使用量
- iOS开发-使用Charles进行网络抓包总结
- Android中的二维码生成与扫描
- vector刘汝佳算法入门学习笔记
- 78-对象属性读写
- 77-创建对象实例