====VC操作excel问题或要代码====

glacier3d 2009-04-26 09:23:59
VC操作excel,用了网上那个CSpreadSheet类,但是写的excel的单元格总是前面有个单引号,怎么去掉?????????????知道的告下,谢了

或者谁有类似操作excel的好代码类???????????
...全文
137 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
scq2099yt 2009-04-27
  • 打赏
  • 举报
回复
参看下面文章:
http://www.joyvc.cn/ComponentDevelop/ComponentDevelop00031.html
http://www.joyvc.cn/ComponentDevelop/ComponentDevelop00014.html
http://www.joyvc.cn/ComponentDevelop/ComponentDevelopGroup00021.html
tian_yang_jian 2009-04-27
  • 打赏
  • 举报
回复
自己也没有弄过,顶一下楼主吧!
xghuzd 2009-04-27
  • 打赏
  • 举报
回复
学习
ok1234567 2009-04-27
  • 打赏
  • 举报
回复
前置单引号是excel文本的标识符号,很重要,从使用者角度看,不要理会它
如果没有标识符号,excel常常会进行科学计数、日期、时间之类的莫名其妙的转换,这可能是你不想看见的

一般封装的Excel代码,都是会处理文本标识的,做得精细一些的,会进行判断,必要才时加单引号
saiyaman5 2009-04-27
  • 打赏
  • 举报
回复
用10楼的方法,想怎么操作都行
jyh_baoding 2009-04-27
  • 打赏
  • 举报
回复
这样的代码网上很多啊,你查查看
贪玩的老鼠 2009-04-27
  • 打赏
  • 举报
回复
其实写EXCEL很简单的.
_Application ExcelApp ;
ExcelApp.CreateDispatch("excel.application");//创建应用程序
Workbooks ExcelBook=ExcelApp.GetWorkbooks(); //得到BOOK
ExcelApp.SetVisible(FALSE);//设置EXCEL可见
_Workbook workBook=ExcelBook.Add(vtOptional);
//加入一个新的book,如果要用模板,用open
Sheets ExcelSheet=workBook.GetSheets();//的到sheet集合
_Worksheet workSheet;
workBook.SaveAs(COleVariant(strValue),vtOptional, vtOptional,vtOptional,vtOptional,vtOptional,0,vtOptional,\
vtOptional,vtOptional,vtOptional);
//另存为
workSheet=ExcelSheet.GetItem(COleVariant((short)1));//获取SHEET从1开
workSheet.SetName("工艺设计");//设置SHEET名
然后就是写数据了
Range rge=workSheet.GetRange(COleVariant("A1"),COleVariant("A1"));//获取A1单元格
Interior interior=rge.GetInterior();//设置背景
interior.SetColor(COleVariant(nBackColor));
Font font=rge.GetFont();//的到字体,可设置字体
rge.SetColumnWidth(COleVariant((short)7));//设置宽度

rge->SetValue(COleVariant(str));
if (bBorder)
{
rge->BorderAround(COleVariant((short)1),(long)2,(long)1,vtOptional);
}

if (bCenter)
{
rge->SetHorizontalAlignment(COleVariant((short)-4108));
}
//垂直居中
rge->SetVerticalAlignment(COleVariant((short)-4108));
rge.Merge(COleVariant((short)1));//合并单元格比如 "A1"到"C1"
大体操作都帮你写上了,可自由发挥.
greatws 2009-04-26
  • 打赏
  • 举报
回复
参考下http://www.cppblog.com/greatws/archive/2008/09/21/62423.html
glacier3d 2009-04-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xsc2001 的回复:]
告诉你一个简单的办法,直接把内容以网页表格的形式输出,只是把扩展名改成.xls就可以了,这样用Excel打开时就是一张Excel表格。这种方法简单、好控制而且输出速度比操作COM自动化快很多。
[/Quote]
试了下,确实是那么回事,干净利落
除了,打开excel后看不到表格线了(当然毕竟还是失去了excel的原有文件格式)

再等等,实在不行再考虑使用
glacier3d 2009-04-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 clever101 的回复:]
用自动化。
[/Quote]
我这就是简单读写excel文件,这个有点小题大作了,呵呵
xsc2001 2009-04-26
  • 打赏
  • 举报
回复
告诉你一个简单的办法,直接把内容以网页表格的形式输出,只是把扩展名改成.xls就可以了,这样用Excel打开时就是一张Excel表格。这种方法简单、好控制而且输出速度比操作COM自动化快很多。
glacier3d 2009-04-26
  • 打赏
  • 举报
回复
vckbase上例子保存的excel文件本身就有单引号
glacier3d 2009-04-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhangnanonnet 的回复:]
CSpreadSheet 应该是不会出现你说的单引号,你把你如何操作CSpreadSheet的代码贴上来分析一下
[/Quote]

读写操作都是对的,就像没有单引号似的,但是打开excel文件,点击某个单元格,看工具栏上的单元格内容框,就发现前面掉个单引号,这个问题vckbase上关于CSpreadSheet的文章的评论中也有人问
clever101 2009-04-26
  • 打赏
  • 举报
回复
用自动化。
zhangnanonnet 2009-04-26
  • 打赏
  • 举报
回复
CSpreadSheet 应该是不会出现你说的单引号,你把你如何操作CSpreadSheet的代码贴上来分析一下

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧