excel文件的格式设置及文件创建
来源:互联网 发布:调查问卷制作软件 编辑:程序博客网 时间:2024/06/05 02:41
Excel的设置是使用的office的API,要把office的excel.exe API导入到VC的库中,使用这些个接口就可以使用了,导入方法网上可查。
代码如下,首先要建立各种对象,及应用程序接口,03版和07版得API有些不同,所以在创建的时候会有区别,由于水平和时间有限,代码中重复的地方比较多,若是引用可以优化一下:
CApplication app;//创建应用程序接口
CWorkbook book;//工作簿
CWorkbooks books;//工作簿集合
CWorksheet sheet;//工作表
CWorksheets sheets;//工作表集合
CRange range;//单元格区域对象
LPDISPATCH lpDisp;
COleVariant vResult;
CString cell;
int c;
_variant_t vRange1;//设置单元格线
_variant_t vRange2;
_variant_t vRange3;
_variant_t vRange4;
VARIANT val;
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
if(!app.CreateDispatch("Excel.Application"))//启动excel服务器
{
AfxMessageBox("无法启动excel服务器");
return;
}
//获取工作簿集合
books=app.get_Workbooks();
//添加一个工作簿
book=books.Add(covOptional);
//获取工作簿集合
sheets=book.get_Sheets();
//获取第一个工作表
sheet=sheets.get_Item(COleVariant((short)1));
//对齐方式
val.vt=VT_I2;
val.iVal=-4108;
//从A1到D1合并单元格
range=sheet.get_Range(COleVariant("A1"),COleVariant("D1"));// range.Merge(_variant_t((long)0));//合并
range.put_RowHeight(_variant_t((long)20));
CString Fex="姓名: ";
Fex+=m_UserName;
Fex=Fex+" "+Date;
range.put_Value2(COleVariant(Fex));//设置单元格内容
//设置第二行
range=sheet.get_Range(COleVariant("A2"),COleVariant("A2"));
//设置长度
range.put_ColumnWidth(_variant_t((long)20));
//设置行高
range.put_RowHeight(_variant_t((long)20));
//居中对齐
range.put_HorizontalAlignment(val);
range.put_VerticalAlignment(val);
//设置单元格内容
range.put_Value2(COleVariant("时间"));
range=sheet.get_Range(COleVariant("B2"),COleVariant("B2"));
//设置长度
range.put_ColumnWidth(_variant_t((long)50));
//行高
range.put_RowHeight(_variant_t((long)20));
/居中对齐
range.put_HorizontalAlignment(val);
range.put_VerticalAlignment(val);
//单元格内容
range.put_Value2(COleVariant("今日工作总结"));
range=sheet.get_Range(COleVariant("C2"),COleVariant("C2"));
//设置长度
range.put_ColumnWidth(_variant_t((long)50));
//行高
range.put_RowHeight(_variant_t((long)20));
//居中对齐
range.put_HorizontalAlignment(val);
range.put_VerticalAlignment(val);
//单元格内容
range.put_Value2(COleVariant(明日计划内容"));
range=sheet.get_Range(COleVariant("D2"),COleVariant("D2"));
//设置长度
range.put_ColumnWidth(_variant_t((long)30));
//设置行高
range.put_RowHeight(_variant_t((long)20));
//居中对齐
range.put_HorizontalAlignment(val);
range.put_VerticalAlignment(val);
//设置单元格内容
range.put_Value2(COleVariant("其他(项目预警、建言献策等"));
//////////////////////////////////////////////////////////////
//设置单元格的线
vRange1.vt=VT_I2;
vRange1.iVal=1;//线的样式
vRange2.vt=VT_I2;
vRange2.iVal=3;//线?的Ì?粗ä?细?
vRange3.vt=VT_I2;
vRange3.iVal=3;//线的颜色,0black,2white,3red,4green,5blue,6yellow,7pink,8dark blue
vRange4.vt=VT_UI4;
vRange4.uintVal=RGB(0,0,0);
lpDisp=sheet.get_Range(COleVariant("A3"),COleVariant("A30"));
range.AttachDispatch(lpDisp);//绑定
//设置长度
range.put_ColumnWidth(_variant_t((long)20));
//行高
range.put_RowHeight(_variant_t((long)40));
//对齐
range.put_HorizontalAlignment(val);
range.put_VerticalAlignment(val);
range.BorderAround(vRange1,vRange2,vRange3,vRange4);//设置单元格框式
lpDisp=sheet.get_Range(COleVariant("B3"),COleVariant("B30"));
range.AttachDispatch(lpDisp);//绑㨮定¡§
//设¦¨¨置?长¡è度¨¨
range.put_ColumnWidth(_variant_t((long)50));
//设¦¨¨置?行D高?
range.put_RowHeight(_variant_t((long)40));
//居¨®中D对?齐?
range.put_HorizontalAlignment(val);
range.put_VerticalAlignment(val);
//文本自动换行
range.put_WrapText(_variant_t((long)1));
range.BorderAround(vRange1,vRange2,vRange3,vRange4);//
lpDisp=sheet.get_Range(COleVariant("C3"),COleVariant("C30"));
range.AttachDispatch(lpDisp);//绑㨮定¡§
//设¦¨¨置?长¡è度¨¨
range.put_ColumnWidth(_variant_t((long)50));
//设¦¨¨置?行D高?
range.put_RowHeight(_variant_t((long)40));
//居¨®中D对?齐?
range.put_HorizontalAlignment(val);
range.put_VerticalAlignment(val);
//自动换行
range.put_WrapText(_variant_t((long)1));
range.BorderAround(vRange1,vRange2,vRange3,vRange4);//
lpDisp=sheet.get_Range(COleVariant("D3"),COleVariant("D30"));
range.AttachDispatch(lpDisp);//绑定
range.put_ColumnWidth(_variant_t((long)30));
range.put_RowHeight(_variant_t((long)40));
range.put_HorizontalAlignment(val);
range.put_VerticalAlignment(val);
range.put_WrapText(_variant_t((long)1));
range.BorderAround(vRange1,vRange2,vRange3,vRange4);//设置单元格框式
//////////////////////////////////////////////////////////////////////////////
//保存excel文件
COleVariant VOption((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
book.SaveAs(COleVariant(path),VOption,VOption,VOption,VOption,VOption,(long)0,VOption,VOption,VOption,VOption,VOption);
//把路径存起来,以后就从里面获取文件的位置
ofstream out("C:\\Path.txt");//
out<<path<<endl;
out.close();//关闭文件
/////////
UpdateData(FALSE);
books.Close();
app.Quit();//退ª?出?
//释放对象
range.ReleaseDispatch();
sheet.ReleaseDispatch();
sheets.ReleaseDispatch();
book.ReleaseDispatch();
books.ReleaseDispatch();
app.ReleaseDispatch();
- excel文件的格式设置及文件创建
- Excel文件的保存格式
- POI---JAVA导出Excel文件<二>Excel格式设置
- 用POI创建Excel文件及下载
- java POI创建Excel文件及Sheet
- 上传文件及文件命名的格式
- excel转换成指定格式的文件
- 判断一个文件是不是excel格式的
- ASP生成指定格式的EXCEl文件
- php输出excel格式的文件
- PHPExcel操作excel、csv格式的文件
- 【原】.Net创建Excel文件(插入数据、修改格式、生成图表)的方法
- 对日志创建处理下载为excel格式的文件(1)
- 对日志创建处理下载为excel格式的文件续(1)(
- 对日志创建处理下载为excel格式的文件续(2)
- 对日志创建处理下载为excel格式的文件续(3) 下载
- .Net创建Excel文件(插入数据、修改格式、生成图表)的方法
- C#中设置EXCEL文件中表格边框格式
- First Day
- 【Codility】Max-profit ★★
- poj刷题存档(2)
- CentOS 5.5安装与配置Postfix
- .net实现微信大转盘
- excel文件的格式设置及文件创建
- OpWeb——MySQL同步模块(2)
- 黑马程序员——学习笔记15.学习反射时张老师提到的两个思考题
- 关于web文档的语言
- java ssh中文乱码问题综合
- struts2+spring+mybatis入门教程二之配置struts2
- JDBC连接Oracle数据库
- android HttpURLConnection类的getInputStream方法返回中文显示乱码问题
- XXX is not in the sudoers file解决方法