Using namespace Excel
主要用到的对象
-_Application
-Workbooks 工作薄集合
-_Workbook 工作薄
-Worksheets 工作表集合
-_Worksheet 工作表
-Range单元格区域
使用步骤:
1. 创建Application对象
_ApplicationPtr m_excelApp;
m_excelApp.CreateInstance("Excel.Application");
m_excelApp->Visible[0]=VARIANT_FALSE;
2. 初始化
如果是创建Excel
WorkbooksPtr pBooks = m_excelApp->Workbooks;
//COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
m_workBookPtr = pBooks->Add((long)xlWorksheet);
m_sheetsPtr = m_workBookPtr->Worksheets;
如果是打开Excel(修改Excel)
WorkbooksPtr pBooks = m_excelApp->Workbooks;
m_workBookPtr = pBooks->Open(pStrFilePath.AllocSysString());
m_sheetsPtr = m_workBookPtr->Worksheets;
3. 设置或者获取值
获取值:
_WorksheetPtr pWorkSheet = _WorksheetPtr(m_sheetsPtr->GetItem(nSheetIndex));
char pBuffer[255];
GetCellAddress(nRowIndex,nColsIndex,pBuffer);(通过行索引和列索引获得Range(单元格)的地址)
strCellVal = pWorkSheet->GetRange(pBuffer)->GetText();
设置值:
可以设置单元格的要保持数据的类型
RangePtr rangePtr;
pRangePtr = pWorkSheetPtr->GetRange(pBuffer);
rangePtr->NumberFormatLocal="@";
pWorkSheetPtr->GetRange(pBuffer)->PutValue2(strVal.GetBuffer(0));
4. 保存并且销毁对象
m_workBookPtr->SaveAs(
strExPath.AllocSysString(), //这个参数表示要保存的Excel的路径
xlWorkbookNormal,
_variant_t(""),
_variant_t(""),
_variant_t(false),
_variant_t(false),
xlNoChange,
xlLocalSessionChanges,
_variant_t(false)) ;
销毁
if(m_workBookPtr != NULL)
m_workBookPtr->Close();
if(m_excelApp != NULL)
m_excelApp->Quit();