VC EXCEL 新建文件

 _Application app;
 _Workbook objBook;
 Workbooks objBooks;
 _Worksheet objSheet;
 Worksheets objSheets;
 Range objRange;
 Font font;

 COleVariant
  vTrue((short)TRUE),
  vFalse((short)FALSE),
  vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
 
 if(!app.CreateDispatch("Excel.Application"))
 {
  AfxMessageBox("Couldn't start Excel.");
  return;
 }

 app.SetVisible(TRUE);
 objBooks = app.GetWorkbooks();

 objBook = objBooks.Add(vOpt);  
 objSheets = objBook.GetSheets();
 objSheet = objSheets.GetItem(COleVariant((short)1));  
 objSheet.Activate(); 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 VC新建 Excel 文件,需要使用相关的编程库和命令来实现。下面是一个简单的示例: 首先,需要在项目中引入 Excel 相关的头文件和库文件,例如: ``` #include <ole2.h> #include <ocidl.h> #include <olectl.h> #include <xlcall.h> #include <excel.h> ``` 接下来,可以创建一个 Excel 应用程序对象并打开一个新的工作簿,示例如下: ``` HRESULT hr; hr = OleInitialize(NULL); // 初始化 COM 库 IDispatch* pExcelApp = NULL; CLSID clsid; hr = CLSIDFromProgID(L"Excel.Application", &clsid); hr = CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, IID_IDispatch, (void**)&pExcelApp); VARIANT v; VariantInit(&v); v.vt = VT_ERROR; IDispatch* pWorkbooks = NULL; hr = pExcelApp->GetTypeInfo()->Invoke(pExcelApp, 0x0000002F, DISPATCH_PROPERTYGET, NULL, NULL, &v, NULL, NULL); pWorkbooks = v.pdispVal; VariantClear(&v); IDispatch* pWorkbook = NULL; hr = pWorkbooks->GetTypeInfo()->Invoke(pWorkbooks, 0x00000002, DISPATCH_METHOD, NULL, NULL, &v, NULL, NULL); pWorkbook = v.pdispVal; VariantClear(&v); IDispatch* pActiveSheet = NULL; hr = pExcelApp->GetTypeInfo()->Invoke(pExcelApp, 0x0000017B, DISPATCH_PROPERTYGET, NULL, NULL, &v, NULL, NULL); pActiveSheet = v.pdispVal; VariantClear(&v); ``` 然后,可以进行一些操作,例如向单元格写入数据: ``` IDispatch* pCells = NULL; hr = pActiveSheet->GetTypeInfo()->Invoke(pActiveSheet, 0x0000006B, DISPATCH_PROPERTYGET, NULL, NULL, &v, NULL, NULL); pCells = v.pdispVal; VariantClear(&v); IDispatch* pCell = NULL; hr = pCells->GetTypeInfo()->Invoke(pCells, 0x00000046, DISPATCH_PROPERTYGET, NULL, NULL, &v, NULL, NULL); v.vt = VT_BSTR; v.bstrVal = SysAllocString(L"A1"); pCell = v.pdispVal; VariantClear(&v); v.vt = VT_BSTR; v.bstrVal = SysAllocString(L"Hello World!"); hr = pCell->GetTypeInfo()->Invoke(pCell, 0x00000002, DISPATCH_PROPERTYPUT, NULL, &v, &v, NULL, NULL); VariantClear(&v); ``` 最后,可以保存并关闭工作簿,示例如下: ``` v.vt = VT_BSTR; v.bstrVal = SysAllocString(L"C:\\path\\to\\output.xlsx"); hr = pWorkbook->GetTypeInfo()->Invoke(pWorkbook, 0x00000003, DISPATCH_METHOD, NULL, &v, &v, NULL, NULL); VariantClear(&v); hr = pWorkbook->GetTypeInfo()->Invoke(pWorkbook, 0x0000000A, DISPATCH_METHOD, NULL, NULL, &v, NULL, NULL); hr = OleUninitialize(); // 反初始化 COM 库 ``` 以上就是使用 VC 新建 Excel 文件的简单示例。实际应用中可能还会涉及其他操作,需要根据具体需求和编程库的要求进行相应的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值