odbc如何操作带密码的excel文件?

pengxiao8 2008-06-15 04:24:51
CDatabase database;
CString sSql;
CString sItem1, sItem2;
CString sDriver;
CString sDsn;
CString sFile,sPath;


GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);

sFile = sPath + "\\Demo.xls";

sDriver = GetExcelDriver();
if (sDriver.IsEmpty())
{


return;
}

sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, sFile);

TRY
{

database.Open(NULL, false, false, sDsn);

CRecordset recset(&database);


sSql = "SELECT Name, Age "
"FROM Exceldemo " ;
"ORDER BY Name ";


recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);


while (!recset.IsEOF())
{

recset.GetFieldValue("Name", sItem1);
recset.GetFieldValue("Age", sItem2);


m_ExcelList.AddString( sItem1 + " --> "+sItem2 );


recset.MoveNext();
}


database.Close();

}
CATCH(CDBException, e)
{

AfxMessageBox("cuo wu: " + e->m_strError);
}
END_CATCH;


以上代码可以正常运行,但对有密码的文件不行,请问如何修改?
...全文
326 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
n_yHHy_n 2008-06-29
  • 打赏
  • 举报
回复
学习
内存泄漏 2008-06-24
  • 打赏
  • 举报
回复
是Database Password属性,没有用的,JET不支持,仅支持ACCESS..

如ACCESS访问有密码的可如下操作,但EXCEL不行:
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=true;Data Source=Demo.mdb;Jet OLEDB:Database Password=tyz","","",adModeUnknown);
waitforsomebody 2008-06-22
  • 打赏
  • 举报
回复
不是user和password,好像是有一个database password的属性,前两个属性置空就行,你可以试试
scq2099yt 2008-06-17
  • 打赏
  • 举报
回复
打开excel时有一个参数是表示密码的
内存泄漏 2008-06-17
  • 打赏
  • 举报
回复
好像没有办法操作有密码的,ACCESS可以,参考:

If the Excel workbook is protected by a password, you cannot open it for data access, even by supplying the correct password with your connection string. If you try, you receive the following error message: "Could not decrypt file."

http://www.connectionstrings.com/?carrier=excel
CathySun118 2008-06-16
  • 打赏
  • 举报
回复
打开方式参考:
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.xls;User Id=***;Password"=***","","",adModeUnknown);

***改成你的用户名、密码
pengxiao8 2008-06-16
  • 打赏
  • 举报
回复
User Id怎么写?
kingstarer 2008-06-15
  • 打赏
  • 举报
回复
会不会跟操作数据库一样,要加上user和pass?
PowerBI系列之Power Query专题1.  获取数据 数据源种类介绍和获取Excel数据源输入数据和拷贝数据:创建辅助表解析Json/XML数据格式获取Web网页数据和URL添加动态参数连接数据的四种模式:Import、DirectQuery、Live Connection、Dual双 属于混合模式连接数据库:Sql server、 Mysql(直连但是必须先安装一个mysql插件)DirectQuery直连查询:Sql serverODBC方式获取数据表关联或多个Sql或调用存储过程获取数据SQL中动态传参和自定义函数: sql中使用参数或数据库名称使用参数连接Sharepoint和OneDrive数据源连接Dataset和Dataflow 替换本地数据源为Sharepoint数据源并保留数据处理操作 终止当前数据刷新Loading:Cancel Query数据源设置-重置数据连接凭证PBIDS连接数据源创建和使用报表模块(输入或值列表)利用报表模板和参数控制线下报表数据权限DirectQuery启用自动页面刷新和更改检测管理聚合表提高DirectQuery查询性能动态M查询参数提高DirectQuery查询性能添加数据刷新时间 DateTime.LocalNow()和Getdate()2.  数据清洗和M语言M语言和官方文档介绍PowerQuery中查阅M函数:=#shared, Ctrl+Space提示数据清洗之常用技能:提升标题、更改数据类型、保留删除错误或空行,删除重复项、选择列和删除列、填充单元格、合并列、拆分、提取、替换、条件替换、添加自定义列,添加条件列、添加索引列、分组、添加年月日列、追加和合并查询透视和逆透视以及转置合并单元格的Excel文件处理导入文件夹中多Excel文件并合并解决多文件合并中列顺序不一致使用参数和函数批量导入文件 文本中提取中文、英文、数字等处理双引号转义 列拆分详解解决列名改变错误解决列丢失错误动态显示、排序和重命名列为所有列名添加前缀列名字母大写和分隔符调整Trim标题列中的多余空格如何处理load数据错误为什么load的Excel数据有null空行为什么load的Excel数据标题在第二行灵活添加占位符规范同类相似数据数据按多列排序为分组添加Index序号分组内值合并诊断工具分析数据处理过程PowerQuery小技巧分享 新冠病例活动轨迹地图标识 
win9x不能用的,其操作系统使用必须是管理员用户登陆系统。注意事项:所有解压密码:158100232832041不好意思:由点大,100M,但包含全部的东东。1、如果你的系统运行安装程序时出现错误,请先安装MDAC,微软网站有的,offic软件里也有,别说你没有安装word,Excel......2、如果你没有安装sql server 2000,只需将“安装程序.rar”解压缩到随便那个目录里,然后在sql server 2000光盘里找到MSDE目录,连目录拷贝至上面解压缩目录中,注意目录名字必须为MSDE。别说没有sql2000光盘,D版多的是,好好找找MSDE,已经安装sql的就不必安装msde了。3、安装完毕后,在c:盘生成一个目录--c:工资管理(行政),桌面一个图标。初次进入系统密码为1234、操作看说明就可以了。特点:功能一般,界面、报表一流,绝对一流。delphi7做的。1、有多种皮肤可供选择,限于EXE程序文件大小,只提供了5、6种皮肤。2、所有界面与信息窗口100%统一,包括sql系统错误的界面都与皮肤一致,你根本看不到不同风格的窗口样子的显示。3、全部汉化,并符合中国人的操作习惯,基本杜绝了输入时的错误。4、所提供的“开发工具包.rar”为目前最稳定的控件包,全部经过修改和汉化,保证了其界面与程序的一致。5、编译后的可执行文件只有2M,短小精悍,如果去掉皮肤只有不到一张磁盘大小。6、代码可读性强,有较高的参考价值,例如时间、报表、数据转换等都很有意思。7、可以转化多种数据格式:ACCESS、DBF、EXCEL、TXT、DBISAM、doc...等多种数据格式,且不需安装任何驱动和数据引擎。有的程序转化为EXCEL是必须安装offic的EXCEL软件,转化dbf需安装odbc等,本程序什么都不要,直接去做就行了。8、自动制作rar压缩文件,并解压缩,不需任何压缩软件支持,根据需要你改为zip、lzh、arj等,只要winrar支持的程序全都可以做。8、数据库中含有许多存储过程、触发器,都可以参考的。9、为sql单用户开发提供了一个较好的借鉴,安装程序做的非常简单,但很有效。10、还有一个接收管理程序,不是我做的,不好提供给大家。上报数据为DBISAM格式,数据密码:32832041,不要尝试研究上报数据内容,因为很难看懂字段的含义,你可以根据需要自己去改。11、注意:dbisam版本为:3.24的。12、重新编译完毕后注意使用ASPACK.EXE压缩一下(好多网站都有这个软件,想想办法可以注册的哦)。13、本程序已实际应用于某市,每单位一套,值点钱的,每套也不便宜,相关的还有一套事业单位工资管理,如需要再传上来。保留名字,时间仓促,如有不全,来信补上,如果对大家delphi7编程有提高.....将继续发布。宋雨炫 songyux@yeah.net 2004.7

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧