excel的问题?

特招 2004-10-18 02:19:43
//*******
如何让range居中显示内容?
**************//
详见如下代码:
Variant excelApp,workBook,aft,sheetA,range,bef;
//检查机器是否安装了Office
try{
excelApp = CreateOleObject("Excel.Application"); //打开excel应用程序
}
catch(...)
{
ShowMessage("运行Excel出错,请检查本机是否安装了Office!");
return;
}
excelApp.OPS("Visible",true); //使应用程序可见
//建立一个新的excel文件
workBook = excelApp.OPG("WorkBooks").OFN("Add");
//workBook.Exec(PR("Add"));
workBook = excelApp.OPG("ActiveWorkBook");//打开工作簿
//显示存在的sheet的数目
int count = workBook.OPG("sheets").OPG("count");
aft = workBook.OPG("sheets",count);
workBook.OPG("sheets").OPR("Add",bef.NoParam(),aft);
sheetA = workBook.OPG("ActiveSheet");
sheetA.OPS("name","表一");
//合并单元格A1:A13
range = sheetA.OPG("Range","A1:M1");
range.OFN("Merge",false);
//向单元格中填写内容
sheetA.OPG("Cells",1,1).OPS("Value",title.c_str());
//设置区域字体
range.OPG("Cells").OPG("Font").OPS("Name","宋体");
range.OPG("Cells").OPG("Font").OPS("Size",18);

//*******
如何让range居中显示内容?
**************//

range.OPG("Cells").OPS("VerticalAlignment",2);
range.OPG("Cells").OPS("HorizontalAlignment",2);
//关闭警告提示
workBook.OPG("Application").OPS("DisplayAlerts",false);
//另存为
workBook.OPR("SaveAs",fileName.c_str());
//关闭工作簿
workBook.OPR("Close");
//关闭excel程序
excelApp.OFN("Quit");
//结束,如果没有如下代码,Excel线程直到应用程序退出才结束
excelApp=Unassigned;
workBook=Unassigned;
aft=Unassigned;
sheetA = Unassigned;
range = Unassigned;
ShowMessage(title+"导出成功!");
...全文
173 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
特招 2004-10-18
  • 打赏
  • 举报
回复
虽然自己解决了 但还是对大家的热心致以崇高的敬意

嘎嘎(我脑袋秀逗了,呵呵)
特招 2004-10-18
  • 打赏
  • 举报
回复
哇赛 改一个数字就可以了 呵呵
//*******
如何让range居中显示内容?
**************//

range.OPG("Cells").OPS("VerticalAlignment",2);
//range.OPG("Cells").OPS("HorizontalAlignment",2);
range.OPG("Cells").OPS("HorizontalAlignment",3);
把2改成3就可以了
free1949 2004-10-18
  • 打赏
  • 举报
回复
void __fastcall MyReport::AlignmentSet(int Line)
{
/*常量对应关系:
水平:
xlHAlignCenter 3 (居中)
xlHAlignDistributed 5 (填充)
xlHAlignJustify 1 (常规)
xlHAlignLeft 2 (靠左缩进)
xlHAlignRight 4 (靠右)
垂直:
xlVAlignBottom 3 (靠下)
xlVAlignCenter 2 (居中)
xlVAlignDistributed 4 (两端对齐)
xlVAlignJustify 5 (分散对齐)
xlVAlignTop 1 (靠上)
*/
//line->说明行
//全部表格:
String ColX("A4:E"+IntToStr(Line));
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Variant Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("VerticalAlignment",2);
//序号列:
ColX="A4:A"+IntToStr(Line-3);
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("HorizontalAlignment",3);
//人员行:
ColX="A"+IntToStr(Line+1);
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("HorizontalAlignment",1);
Selection.OlePropertySet("VerticalAlignment",3);
//说明行:
ColX="A"+IntToStr(Line);
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("HorizontalAlignment",1);
Selection.OlePropertySet("VerticalAlignment",2);
//调修、复检列:
ColX="D4:E"+IntToStr(Line-2);
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("HorizontalAlignment",3);
//项目名称及说明列:
ColX="B4:C"+IntToStr(Line-3);
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("HorizontalAlignment",1);
//小计行:
ColX="A"+IntToStr(Line-2);
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("HorizontalAlignment",1);
//总计行:
ColX="A"+IntToStr(Line-1);
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("HorizontalAlignment",1);
ColX="D"+IntToStr(Line-1);
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("HorizontalAlignment",3);
//底端备注:
ColX="A"+IntToStr(Line+2);
ExcelWorkSheets.OlePropertyGet("Range",(WideString)ColX).OleFunction("Select");
Selection=Excel_V.OlePropertyGet("Selection");
Selection.OlePropertySet("HorizontalAlignment",1);
Selection.OlePropertySet("VerticalAlignment",3);
Selection.OlePropertyGet("Font").OlePropertySet("Name",WideString("黑体"));
Selection.OlePropertyGet("Font").OlePropertySet("Size",16);
}
Javpp 2004-10-18
  • 打赏
  • 举报
回复
帮你UP
特招 2004-10-18
  • 打赏
  • 举报
回复
大家帮帮忙啊 解决马上结贴

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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