⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_61559.htm

📁 vc
💻 HTM
字号:
<p>
序号:61559 发表者:刘言 发表日期:2003-11-20 12:40:16
<br>主题:创建并写入数据到Excel文件中的问题
<br>内容:如下代码如何动态的改变所建工作表的名称,即sSql = &#34;CREATE TABLE Exceldemo (Name TEXT,Age NUMBER)&#34;;中的Exceldemo,我做了如下努力都不行不知什么缘故??<BR>CString str;<BR>str=&#34;xxxx&#34;;<BR>sSql = &#34;CREATE TABLE &#34;;<BR>sSql+=str;<BR>sSql+=&#34; Exceldemo (Name TEXT,Age NUMBER)&#34;;<BR>database.ExecuteSQL(sSql);<BR>输出的Excel文件只是有表头,没有数据内容,程序运行到database.ExecuteSQL(sSql);就返回了,做了如下改动均不行。<BR><BR>sSql = &#34;CREATE TABLE '&#34;+str+&#34;' (Name TEXT,Age NUMBER)&#34;;<BR><BR>sSql.Format(&#34;CREATE TABLE %s (Name TEXT,Age NUMBER)&#34;,str);<BR><BR>???????谢谢<BR><BR>//////////////////////////////////////////////////////////////////////////////<BR>//名称:OnWriteexcel<BR>//功能:创建并写入数据到Excel文件中<BR>//作者:徐景周(jingzhou_xu@163.net)<BR>//组织:未来工作室(Future Studio)<BR>//日期:2002.9.1<BR>/////////////////////////////////////////////////////////////////////////////<BR>void CRWExcelDlg::OnWriteexcel() <BR>{<BR>&nbsp;&nbsp;CDatabase database;<BR>&nbsp;&nbsp;CString sDriver = &#34;MICROSOFT EXCEL DRIVER (*.XLS)&#34;; // Excel安装驱动<BR>&nbsp;&nbsp;CString sExcelFile,sPath; <BR>&nbsp;&nbsp;CString sSql;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;//获取主程序所在路径,存在sPath中<BR>&nbsp;&nbsp;GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);<BR>&nbsp;&nbsp;sPath.ReleaseBuffer ();<BR>&nbsp;&nbsp;int nPos;<BR>&nbsp;&nbsp;nPos=sPath.ReverseFind ('\\');<BR>&nbsp;&nbsp;sPath=sPath.Left (nPos);<BR><BR>&nbsp;&nbsp;sExcelFile = sPath + &#34;\\Demo.xls&#34;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 要建立的Excel文件<BR><BR>&nbsp;&nbsp;TRY<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 创建进行存取的字符串<BR>&nbsp;&nbsp;&nbsp;&nbsp;sSql.Format(&#34;DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\&#34;%s\&#34;;DBQ=%s&#34;,sDriver, sExcelFile, sExcelFile);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;// 创建数据库 (既Excel表格文件)<BR>&nbsp;&nbsp;&nbsp;&nbsp;if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 创建表结构(姓名、年龄)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CString str=&#34;xxxx&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sSql = &#34;CREATE TABLE Exceldemo (Name TEXT,Age NUMBER)&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database.ExecuteSQL(sSql);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 插入数值<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sSql = &#34;INSERT INTO Exceldemo (Name,Age) VALUES ('徐景周',26)&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database.ExecuteSQL(sSql);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sSql = &#34;INSERT INTO Exceldemo (Name,Age) VALUES ('徐志慧',22)&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database.ExecuteSQL(sSql);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sSql = &#34;INSERT INTO Exceldemo (Name,Age) VALUES ('郭徽',27)&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database.ExecuteSQL(sSql);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;// 关闭数据库<BR>&nbsp;&nbsp;&nbsp;&nbsp;database.Close();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox(&#34;Excel文件写入成功!&#34;);<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;CATCH_ALL(e)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;TRACE1(&#34;Excel驱动没有安装: %s&#34;,sDriver);<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;END_CATCH_ALL;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database.ExecuteSQL(sSql);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sSql = &#34;INSERT INTO Exceldemo (Name,Age) VALUES ('徐志慧',22)&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database.ExecuteSQL(sSql);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sSql = &#34;INSERT INTO Exceldemo (Name,Age) VALUES ('郭徽',27)&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;database.ExecuteSQL(sSql);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;// 关闭数据库<BR>&nbsp;&nbsp;&nbsp;&nbsp;database.Close();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox(&#34;Excel文件写入成功!&#34;);<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;CATCH_ALL(e)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;TRACE1(&#34;Excel驱动没有安装: %s&#34;,sDriver);<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;END_CATCH_ALL;
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:wjb 回复日期:2003-11-20 13:33:23
<br>内容:当然<BR>因为插入数据的sql语句中的名称没有改<BR><BR>sSql = &#34;INSERT INTO Exceldemo (Name,Age) VALUES ('徐景周',26)&#34;;<BR>应该是<BR>sSql.Format(&#34;INSERT INTO %s (Name,Age) VALUES ('徐景周',26)&#34;,str);<BR><BR><BR><BR>2003-11-20 13:34:02

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -