把数据按照一定格式写到EXCEL里~~~
解决方案 »
- C客户端用socket向php服务器发送数据,出错?
- MFC的数据库编程,调试一直不成功,类流满面,求助啊 。。。
- VC++6.0将jpg图片载入到工程,怎么显示在对话框上
- 高分求答两道面试题
- 无法从“LPOLESTR”转换为“LPSTR” -------- 非常简单的问题哦
- 在线等!一个小问题,如何得到上级目录??
- how to convert BSTR to char
- 放在Dialog 上的msflexGrid刚开始时(没最大化),为什么不出现水平滚动条??最大化才有??
- P2P通信交流群 11803720
- 如何在vc5.0中定义各类中共用的全程变量?
- 用csocket实现双工通信!
- 为什么对话框上的编辑框不可修改?
#include <odbcinst.h>void CTjsl::OnExcel()
{
CDatabase database;
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动
CString sExcelFile; // 要建立的Excel文件
CString sSql; CFileDialog Dlg(FALSE, "*.xls | *.xls", m_strBjmc, OFN_HIDEREADONLY, "Excel 文件 (.xls)|*.xls||");
int nRet = Dlg.DoModal();
if ( nRet== IDOK ) {
sExcelFile=Dlg.GetPathName(); TRY
{
// 创建进行存取的字符串
sSql.Format("DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",
sDriver, sExcelFile, sExcelFile); // 创建数据库 (既Excel表格文件)
if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )
{
// 创建表结构
sSql=_T("CREATE TABLE 部件汇总 (");
for(int i=0;i<m_Grid.GetColumnCount();i++)
{
sSql+=m_Grid.GetItemText(0,i);
sSql+=_T(" TEXT,");
}
sSql=sSql.Left(sSql.GetLength()-1);
sSql+=_T(")");
sSql.Replace(_T("/"),_T("和"));
database.ExecuteSQL(sSql); // 插入数值
for(int j=1;j<m_Grid.GetRowCount();j++)
{
sSql=_T("INSERT INTO 部件汇总 VALUES (");
for(i=0;i<m_Grid.GetColumnCount();i++)
{
sSql+=_T("'");
sSql+=m_Grid.GetItemText(j,i);
sSql+=_T("',");
}
sSql=sSql.Left(sSql.GetLength()-1);
sSql+=_T(")");
database.ExecuteSQL(sSql);
}
} // 关闭数据库
database.Close();
}
CATCH_ALL(e)
{
AfxMessageBox(_T("Excel驱动没有安装!"));
}
END_CATCH_ALL;
}
}