阅读背景:

MFC向Excel读取、写入数据

来源:互联网 

通过MFC向Excel写入数据代码:

    CWorkbooks    books;
	CWorkbook     book;
	CApplication  app;
	CWorksheets   sheets;
	CWorksheet    sheet;
	CRange        range;

	COleVariant   vResult;
	COleVariant   covOptional((long) DISP_E_PARAMNOTFOUND,VT_ERROR);

	if (!app.CreateDispatch(_T("Excel.Application")))
	{
		AfxMessageBox(_T("无法启动服务器"));
		return ;
	}

	books.AttachDispatch(app.get_Workbooks()); 

	//得到Workbook  
	book.AttachDispatch(books.Add(covOptional),true);  

	//得到Worksheets  
	sheets.AttachDispatch(book.get_Worksheets(),true);  
	
	sheet.AttachDispatch(sheets.get_Item(_variant_t("sheet1")),true); 
	range=sheet.get_Range(COleVariant(_T("A1")),COleVariant(_T("A1")));
	range.put_Value2(COleVariant(_T(" Write data to excel by MFC")));

// 	for (long i=0;i<11;i++)
// 		range.put_Item(_variant_t((long)2),_variant_t((long)i),_variant_t((long)i));//会报错,不知问题为何
	range=sheet.get_Range(COleVariant(_T("A1")),COleVariant(_T("B1")));
	range.Merge(_variant_t((long)0));	
	
	range.put_ColumnWidth(_variant_t((long)15));
	range=sheet.get_Range(COleVariant("A1"),COleVariant("A1"));
	//range.put_VerticalAlignment(_variant_t((long)-4018));//不能设置类range的put_VerticalAlignment属性
	range.put_HorizontalAlignment(_variant_t((long)-4131));
	range.put_RowHeight(COleVariant("25"));
	
	app.put_Visible(TRUE);
	book.SaveCopyAs(COleVariant("e:\test_file.xlsx"));
	book.put_Saved(TRUE);

	books.Close();
	app.Quit();
	range.ReleaseDispatch();
	sheet.ReleaseDispatch();
	sheets.ReleaseDispatch();
	book.ReleaseDispatch();
	books.ReleaseDispatch();
	app.ReleaseDispatch();
    CWorkbooks    boo



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: