常用代码备份--OLE操作Excel之sheet复制
来源:互联网 发布:ubuntu磁盘一直不足 编辑:程序博客网 时间:2024/05/01 20:49
bool CopySheet(CHAR szItem[20][64],char *szModelFilePath){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); ::CoInitialize(NULL); AfxEnableControlContainer(); CApplication app; CWorkbooks books; CWorkbook book; CWorksheets sheets; CWorksheet sheet; CRange range; CRange cols; int iNum = 0; CString csSheetName = szItem[0]; CHAR szNewFilePath[MAX_PATH] = {0x00}; for (iNum = 0;iNum < 20;iNum++) { if(strlen(szItem[iNum]) == 0) break; } ::GetCurrentDirectory(MAX_PATH,szNewFilePath); sprintf(szNewFilePath,"%s\\file.xlsx",szNewFilePath); COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); if( !app.CreateDispatch("Excel.Application") ) { ::MessageBox(NULL,"Can not create EXCEL!","error",MB_OK); return false; } books=app.get_Workbooks(); LPDISPATCH lpDisp; lpDisp = books.Open(szModelFilePath, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional ); book.AttachDispatch(lpDisp); sheets=book.get_Sheets(); sheet=sheets.get_Item(COleVariant((short)3)); COleVariant temp; temp.pdispVal=sheet.m_lpDispatch; temp.vt=VT_DISPATCH; sheet.put_Name(csSheetName.Left(20)); for(int i = 0;i < iNum-1;i++) sheet.Copy(vtMissing, temp); for(int i = 0;i < iNum;i++)//复制N个sheet { csSheetName = szItem[i]; sheet=sheets.get_Item(COleVariant((short)(i+3))); sheet.put_Name(csSheetName.Left(31));//31是Excel允许的最大sheet名长度 } book.SaveAs(COleVariant(szNewFilePath),covOptional, covOptional,covOptional, covOptional,covOptional,(long)0, covOptional,covOptional,covOptional, covOptional,covOptional); range.ReleaseDispatch(); sheet.ReleaseDispatch(); sheets.ReleaseDispatch(); book.ReleaseDispatch(); books.ReleaseDispatch(); app.Quit(); app.ReleaseDispatch(); temp.Detach(); temp.Clear(); sprintf(szModelFilePath,"%s",szNewFilePath); ::CoUninitialize(); return true;}
0 0
- 常用代码备份--OLE操作Excel之sheet复制
- delphi 操作excel复制sheet
- C# 操作Excel ---复制Excel的sheet
- VC 操作Excel sheet复制、重命名
- poi操作excel,复制sheet,复制行,复制单元格
- poi操作excel,复制sheet,复制行,复制单元格 .
- pb 通过ole操作excel常用函数
- BCB之OLE方式操作Excel
- Excel中Sheet复制
- python excel sheet复制
- jxl 操作Excel表格之Sheet
- 用OLE获取Excel的Sheet名
- Delphi操作EXCEL复制Sheet到另一个XLS文件中
- vc操作excel,包括合并单元格,新增,删除sheet,设置字体,底色(OLE/COM)
- 用OLE操作Excel
- OLE操作EXCEL
- OLE 操作Excel 祥解
- 通过ole 操作Excel
- 13. Roman to Integer
- ubuntu创建虚拟硬盘
- tableview的两个取得重用cell方法的区别
- 1.0.1 JavaScript Array对象
- 安卓开发.SO文件
- 常用代码备份--OLE操作Excel之sheet复制
- Swift 基本控件UISlider学习
- Linux du命令
- 利用rand5()产生rand7().rand5()产生1到5的整数,rand7()产生1到7的整数.
- 第一行代码-8.2 接收和发送短信
- python文档生成工具pydoc在网页上查看的方法
- 与数据库的连接池说明、应用
- 【小镇的技术天梯】小镇的实战!mysql性能优化。
- flv格式学习