====VC操作excel问题或要代码==== VC操作excel,用了网上那个CSpreadSheet类,但是写的excel的单元格总是前面有个单引号,怎么去掉?????????????知道的告下,谢了或者谁有类似操作excel的好代码类??????????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CSpreadSheet 应该是不会出现你说的单引号,你把你如何操作CSpreadSheet的代码贴上来分析一下 读写操作都是对的,就像没有单引号似的,但是打开excel文件,点击某个单元格,看工具栏上的单元格内容框,就发现前面掉个单引号,这个问题vckbase上关于CSpreadSheet的文章的评论中也有人问 vckbase上例子保存的excel文件本身就有单引号 告诉你一个简单的办法,直接把内容以网页表格的形式输出,只是把扩展名改成.xls就可以了,这样用Excel打开时就是一张Excel表格。这种方法简单、好控制而且输出速度比操作COM自动化快很多。 我这就是简单读写excel文件,这个有点小题大作了,呵呵 试了下,确实是那么回事,干净利落除了,打开excel后看不到表格线了(当然毕竟还是失去了excel的原有文件格式)再等等,实在不行再考虑使用 参考下http://www.cppblog.com/greatws/archive/2008/09/21/62423.html 其实写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"大体操作都帮你写上了,可自由发挥. 前置单引号是excel文本的标识符号,很重要,从使用者角度看,不要理会它如果没有标识符号,excel常常会进行科学计数、日期、时间之类的莫名其妙的转换,这可能是你不想看见的一般封装的Excel代码,都是会处理文本标识的,做得精细一些的,会进行判断,必要才时加单引号 参看下面文章:http://www.joyvc.cn/ComponentDevelop/ComponentDevelop00031.htmlhttp://www.joyvc.cn/ComponentDevelop/ComponentDevelop00014.htmlhttp://www.joyvc.cn/ComponentDevelop/ComponentDevelopGroup00021.html 有没有用vc做过office开发的(在线等) 再问一个关于系统服务的问题 求教:打印时确定打印纸位置的问题 向高手请教:VC中用soap怎样接收服务器端的数据流!急切等待中... 请问如何使用正则表达式? 请问FFT经优化后的算法哪里有Download?多谢各位帮忙,Thank you! 急急急!如何用AT指令控制手机发送短信息。请高手赐教,UP有分 如何获得屏幕的设备环境? 字符识别(汉字+数字+字母) 怎么加时间函数? 怎么动态的添加多个button,并添加它们的Onclick事件 原始套接字的FD_CLOSE消息问题
读写操作都是对的,就像没有单引号似的,但是打开excel文件,点击某个单元格,看工具栏上的单元格内容框,就发现前面掉个单引号,这个问题vckbase上关于CSpreadSheet的文章的评论中也有人问
除了,打开excel后看不到表格线了(当然毕竟还是失去了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"
大体操作都帮你写上了,可自由发挥.
如果没有标识符号,excel常常会进行科学计数、日期、时间之类的莫名其妙的转换,这可能是你不想看见的一般封装的Excel代码,都是会处理文本标识的,做得精细一些的,会进行判断,必要才时加单引号
http://www.joyvc.cn/ComponentDevelop/ComponentDevelop00031.html
http://www.joyvc.cn/ComponentDevelop/ComponentDevelop00014.html
http://www.joyvc.cn/ComponentDevelop/ComponentDevelopGroup00021.html