VC数据结构入下:
typedef struct
{
char strName[200];
char strSize[20];
char strCreatTime[19];
}fileInfo;
把三个成员插入到EXCEL中,每个元素占一个格,插完后回车开始下一行的插入!最好有代码例子谢谢!
typedef struct
{
char strName[200];
char strSize[20];
char strCreatTime[19];
}fileInfo;
把三个成员插入到EXCEL中,每个元素占一个格,插完后回车开始下一行的插入!最好有代码例子谢谢!
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
int UpPos=0,UpNum=0;
long lCount=0;
_variant_t varimg;
CComBSTR imgstr;
// Common OLE variants. Easy variants to use for calling arguments.
COleVariant
covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
Range rgMyRge,RowMyrge;
CString strSqlStmt; COleException *e = new COleException;
try
{
if(!ExcelApp.CreateDispatch(_T("Excel.Application"), e))
{
CString strError=_T(""),STR_SYSTEM_TIPS;
strError = _T("Failed to launch Microsoft Excel,May be you don't setup Microsoft Excel.");// STR_SYSTEM_TIPS.LoadString(IDS_SYSTEM_TIPS); e->Delete();
return ;
}
}
catch (COleDispatchException * e)
{
CString cStr;
if (!e->m_strSource.IsEmpty())
cStr = e->m_strSource + _T(" - ");
if (!e->m_strDescription.IsEmpty())
{
cStr += e->m_strDescription;
}
else
cStr += _T("unknown error");
e->Delete();
return ;
} e->Delete(); CString version = ExcelApp.GetExcelVersion();
TRACE(version);
//version == "10.0" XP;version == "9.0" 2000 ; version == "8.0" 97
// CADORecordset* record = NULL;
LPDISPATCH lpDisp = NULL; // Often reused variable. try{
lpDisp = ExcelApp.GetWorkbooks(); // Get an IDispatch pointer.
ASSERT(lpDisp);
wbsMyBooks.AttachDispatch(lpDisp); // Attach the IDispatch pointer
// to the books object.
// Open a new workbook and attach that IDispatch pointer to the
// Workbook object.
lpDisp = wbsMyBooks.Add( covOptional );
ASSERT(lpDisp);
wbMyBook.AttachDispatch( lpDisp );
wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t((long)1)),true);
// wsMysheet.SetEnableSelection((long)0);
rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);
CString strColName = _T(""),ColName = _T("");
//gxy begin
strColName = _T("Name,SIze,CreateTime");
int i=0,j=0;
rgMyRge.SetHorizontalAlignment(_variant_t(BYTE(1)));
rgMyRge.SetRowHeight(_variant_t((long)15));
for(i = 0; i < 3; i++)
{
ColName = GetFieldName(i);
rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)(i+1)),_variant_t(ColName));
ColName.Empty();
}
int z =0;
int m = 0;
for(j=0; j<3;j++)//控制要写几张excel
{
for(z = 0; z < 3; z++ )//excel的毎列数据
{
imgstr = m_ComFieldName[z];
ColName.Format(_T("%d.bmp"),z);//excel单元格的内容
rgMyRge.SetItem(_variant_t((long)(m+2)),_variant_t((long)(z+1)),_variant_t(ColName));
}
m++;
} rgMyRge.AttachDispatch(wsMysheet.GetColumns(),true);
rgMyRge.AutoFit();
ExcelApp.SetVisible(FALSE);
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.SaveAs((COleVariant)strRepTemplate,
covOptional, covOptional, covOptional, covOptional, covOptional,
1, covOptional, covOptional, covOptional, covOptional);
wbMyBook.ReleaseDispatch();
wbsMyBooks.Close();
wbsMyBooks.ReleaseDispatch();
ExcelApp.ReleaseDispatch();
ExcelApp.QuitExcel();
}
catch(CException e)
{
CString strmsg1,strmsg2;
DWORD dwError = GetLastError();
TCHAR szError[MAX_PATH];
e.GetErrorMessage(szError, MAX_PATH);
strmsg1.Format(_T("Failure in exporting data!\nError id:%ld\nError info.%s"), dwError, szError);
strmsg2 = _T("Error");
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.ReleaseDispatch();
wbsMyBooks.Close();
wbsMyBooks.ReleaseDispatch();
ExcelApp.ReleaseDispatch();
ExcelApp.QuitExcel();
return ;
}