我的数据库有好几个表,我只要其中三个,并且把这三个表合并为一个大的表,用ado的方式,并且从 excel 中输出来!
这样我想能够办到,我虽然是自己想,自己做的。但从来没有做过.但我还是想各位提供些意见或观点! 或者给些技术或文挡上的支持!!谢了.
这样我想能够办到,我虽然是自己想,自己做的。但从来没有做过.但我还是想各位提供些意见或观点! 或者给些技术或文挡上的支持!!谢了.
解决方案 »
- 图片后缀手动修改了,在代码里怎么判断原来的类型
- 关于Httptunnel与Web Server共同监听80端口的问题
- 对话框按钮
- 老师说在数据库设计时,要设好数据库接口给应用程序, 请问数据库接口包括点什么东西?
- 有关CFindReplaceDialog类的问题
- 求tif格式的文件转换为jpg或gif的格式的文件,如果都提供再给100分。
- 如何显示多文档?
- 关于“自带IE8内核”的问题
- 300多分,等你拿
- 当select one socket non-blocking return can write but when i send it return WSAEWOULDBLOCK why?????
- 低层socket通讯,文件传输高效率传输,求助好的模型~~~~~~~~~~在线!!
- 关于winsock中的接收函数,请大家看看问题在那儿.txt
我也想的和你一个样。不过我还没做过怎么样在程序里读入一个宏,要怎样写。而在excel里写一个宏是怎么样个原理。怎么样写的。拜托了
能不能提供一些详细些的经验,或者文档代码之类的。
先谢谢了!
一会晚上给分!
creatreport();
CoInitialize(NULL);
_Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
Range rgMyRge,range;
char pathstr[255];
GetCurrentDirectory(255,pathstr);
strcat(pathstr,"\\xunfa0.xls");
try
{
COleException *e = new COleException;
if(!ExcelApp.CreateDispatch("Excel.Application.9",e))
throw e;
}
catch (COleDispatchException * e)
{
CString cStr;
if (!e->m_strSource.IsEmpty())
cStr = e->m_strSource + " - ";
if (!e->m_strDescription.IsEmpty())
cStr += e->m_strDescription;
else
cStr += "unknown error";
AfxMessageBox(cStr, MB_OK,
(e->m_strHelpFile.IsEmpty())? 0:e->m_dwHelpContext);
e->Delete();
}
CString strsql,str,month1,strsql1;
COleDateTime date1;
VARIANT date;
date.vt=VT_DATE;
date=m_date1.GetValue();
date1=date.date;
str=date1.Format("%Y年%m月");
month1=str+"順發公司來料明細表";
strsql=str+"順發A公司付貨明細表";
strsql1=str+"順發B公司付貨明細表";
//利用模板文件建立新文件
ExcelApp.SetCaption(_T("順發報表"));
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(COleVariant(pathstr)));
ExcelApp.SetVisible(true);
//得到Worksheets
wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
//得到sheet1
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t((short)1)),true);
//得到矩形
wsMysheet.Select(_variant_t((short)1));
rgMyRge=wsMysheet.GetRange(COleVariant("A1"),COleVariant("J1"));
rgMyRge.SetItem(_variant_t((short)1),_variant_t((short)1),_variant_t(month1));
//調用宏
ExcelApp.Run(_variant_t("Macro1"),vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);
//得到表sheet2
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t((short)2)),true);
//得到矩形
wsMysheet.Select(_variant_t((short)2));
rgMyRge=wsMysheet.GetRange(COleVariant("A1"),COleVariant("J1"));
rgMyRge.SetItem(_variant_t((short)1),_variant_t((short)1),_variant_t(strsql));
ExcelApp.Run(_variant_t("Macro2"),vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);
//得到表sheet2
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t((short)3)),true);
//得到矩形
wsMysheet.Select(_variant_t((short)3));
rgMyRge=wsMysheet.GetRange(COleVariant("A1"),COleVariant("J1"));
rgMyRge.SetItem(_variant_t((short)1),_variant_t((short)1),_variant_t(strsql1));
//調用宏
ExcelApp.Run(_variant_t("Macro3"),vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);
wbMyBook.SetSaved(true);
wbMyBook.PrintPreview(COleVariant((short)0));
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.ReleaseDispatch();
wbsMyBooks.ReleaseDispatch();
ExcelApp.ReleaseDispatch();
delreport();
CDialog::OnOK();
其實在excel里創建宏很簡單,用自動錄取.再修改一下,稍懂一點vba就行.