社区
ATL
帖子详情
Excel Saveas函数
hust
2003-06-11 10:50:06
在VC中对EXCEL操作,怎样保存、关闭EXCEL文件?Saveas函数后面有一大堆参数,应该怎么用?最好给出源代码,提供链接也可以
...全文
671
2
打赏
收藏
Excel Saveas函数
在VC中对EXCEL操作,怎样保存、关闭EXCEL文件?Saveas函数后面有一大堆参数,应该怎么用?最好给出源代码,提供链接也可以
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hust
2003-06-12
打赏
举报
回复
没有人研究过这个问题吗?
zzh5335
2003-06-12
打赏
举报
回复
{
WIN32_FIND_DATA FileData;
HANDLE hSearch;
USES_CONVERSION;
hSearch = FindFirstFile(A2T(strTableName), &FileData);
if (hSearch != INVALID_HANDLE_VALUE) // 找到
{
if(IDYES == ::MessageBox(this->m_hWnd, _T("该文件已经存在,要替换吗?"),
_T("提示"), MB_YESNO))
{
DeleteFile(A2T(strTableName));
}
else
{
return TRUE;
}
}
COleVariant
covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
_Application app;
Workbooks books;
_Workbook book;
Worksheets sheets;
_Worksheet sheet;
Range range;
Font font;
Range cols;
app.CreateDispatch(_T("Excel.Application"));
app.SetVisible(1);
//Get a new workbook.
books = app.GetWorkbooks();
book = books.Add (covOptional);
//Get the first sheet.
sheets =book.GetSheets();
sheet = sheets.GetItem(COleVariant((short)1));
// 设置报表的标题
range = sheet.GetRange(COleVariant(_T("A1")), COleVariant(_T("A1")));
range.SetValue(COleVariant(A2T(strTitle)));
font = range.GetFont();
font.SetBold(covTrue);
font.SetSize(COleVariant(_T("14")));
// 设置项目名
range = sheet.GetRange(COleVariant(_T("A2")), COleVariant(_T("A2")));
range.SetValue(COleVariant(_T("学号")));
range = sheet.GetRange(COleVariant(_T("B2")), COleVariant(_T("B2")));
range.SetValue(COleVariant(_T("姓名")));
// 获得年级数
TCHAR tstr[MAX_PATH];
CHAR strTemp[MAX_PATH];
int nGrade = 0;
std::vector<OBJECTSTRUC *> szVecObj;
nGrade = SendMessage(GetDlgItem(IDC_COMBO_GRADE), CB_GETCURSEL, 0, 0) + 1;
if(!GetObjectFromTable(nGrade, szVecObj))
{
::MessageBox(this->m_hWnd, _T("从表中读取科目信息错误"), _T("提示"), MB_OK | MB_ICONEXCLAMATION);
return FALSE;
}
// 把科目的名称写上去
for(int i = 0; i < szVecObj.size() - 2; i ++)
{
sprintf(strTemp, "%c2", 'C' + i);
range = sheet.GetRange(COleVariant(A2T(strTemp)), COleVariant(A2T(strTemp)));
range.SetValue(COleVariant(A2T(szVecObj[i]->m_chaName)));
}
// 添加主科总分
sprintf(strTemp, "%c2", 'C' + szVecObj.size() - 2);
range = sheet.GetRange(COleVariant(A2T(strTemp)), COleVariant(A2T(strTemp)));
range.SetValue(COleVariant(_T("主科总分")));
// 添加主科名次
sprintf(strTemp, "%c2", 'C' + szVecObj.size() - 1);
range = sheet.GetRange(COleVariant(A2T(strTemp)), COleVariant(A2T(strTemp)));
range.SetValue(COleVariant(_T("主科名次")));
// 添加总分
sprintf(strTemp, "%c2", 'C' + szVecObj.size());
range = sheet.GetRange(COleVariant(A2T(strTemp)), COleVariant(A2T(strTemp)));
range.SetValue(COleVariant(_T("总分")));
// 添加总分名次
sprintf(strTemp, "%c2", 'C' + szVecObj.size() + 1);
range = sheet.GetRange(COleVariant(A2T(strTemp)), COleVariant(A2T(strTemp)));
range.SetValue(COleVariant(_T("总分名次")));
// 添加考场说明以及学号、姓名
// 读出表中的所有记录
ADODB::_RecordsetPtr pRS = NULL;
pRS.CreateInstance(__uuidof(ADODB::Recordset));
SendMessage(GetDlgItem(IDC_COMBO_SOURCE_TABLENAME),
WM_GETTEXT, MAX_PATH, (LONG)tstr);
sprintf(strTemp, "SELECT 学号, 姓名 FROM %s", T2A(tstr));
pRS->Open(strTemp, _variant_t((IDispatch *)g_pConn, TRUE),
ADODB::adOpenStatic, ADODB::adLockOptimistic, ADODB::adCmdText);
int rows = 3;
for(i = 0; i < g_room.size(); i ++)
{
// 添加考场人数及说明
sprintf(strTemp, "A%d", rows);
range = sheet.GetRange(COleVariant(A2T(strTemp)), COleVariant(A2T(strTemp)));
sprintf(strTemp, "%d场%d人", atol(g_room[i].m_chaNo), atol(g_room[i].m_chaPersons));
range.SetValue(COleVariant(A2T(strTemp)));
sprintf(strTemp, "B%d", rows ++);
range = sheet.GetRange(COleVariant(A2T(strTemp)), COleVariant(A2T(strTemp)));
range.SetValue(COleVariant(A2T(g_room[i].m_chaDescription)));
// 添加学号和姓名
VARIANT var;
for(int j = 0; j < atol(g_room[i].m_chaPersons); j ++)
{
if(!pRS->adoEOF)
{
sprintf(strTemp, "A%d", rows);
range = sheet.GetRange(COleVariant(A2T(strTemp)), COleVariant(A2T(strTemp)));
var = pRS->GetCollect("学号");
range.SetValue(COleVariant(var.lVal));
sprintf(strTemp, "B%d", rows ++);
range = sheet.GetRange(COleVariant(A2T(strTemp)), COleVariant(A2T(strTemp)));
var = pRS->GetCollect("姓名");
range.SetValue(COleVariant(OLE2T(var.bstrVal)));
pRS->MoveNext();
}
}
}
pRS->Close();
// 保存结果, 退出Excel程序
book.SaveAs(COleVariant(A2T(strTableName)), covOptional,
covOptional, covOptional, covOptional, covOptional,
1,covOptional, covFalse, covOptional, covOptional);
//book.SaveCopyAs(var111);
//VariantClear(&var111);
app.Quit();
return TRUE;
}
PBdatawindow导出
excel
函数
PBdatawindow导出
excel
函数
源码 非常 方便
MFC使用SaveAs
函数
保存
Excel
文件时,弹出“文件已存在”问题
解决方法:在调用SaveAs
函数
的前后加上如上两行代码 CApplication
Excel
App;
Excel
App.put_DisplayAlerts(FALSE); book.SaveAs(_variant_t(strSaveAsName), _variant_t((long)56), vtMissing, vtMissing, vtMissing, vtMissing, 0,vtMissing , vtMissing, vtMissing, vtMissing,vtMis...
Laravel 8入门到开发CMS(2022)(停更)
回滚迁移和重建数据库 通过迁移文件,后加字段 模型 准备备注模块所需的静态页面 分拆页面结构 CURD增删改查 用Tinker新增 用Factory新增 用create方法新增 用save方法新增 读取 用update方法更新 用save方法更新 用...
python saveas_Python中正确的Save-As
函数
我有一个默认的saveas
函数
绑定到一个按钮点击,它调用一个模式窗口。另外,我还有一个
函数
,它将所需的数组保存为.xlsx文件。在self.data_processing.clicked.connect(self.process)def process(self):sample = pd.read_
excel
(self.fileName)list_of_index = []for i in ran...
Excel
Application 另存
Excel
的SaveAs
函数
procedure SaveAs(const Filename: WideString; FileFormat: OleVariant; Password: OleVariant; WriteResPassword: OleVariant; ReadOnlyRecommended: OleVariant; ...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章