MFC---導出 Excel 方法


 

本方法通過Excel驅動寫入

請添加頭文件

#include"afxdb.h"

第一步創建Excel文件 安裝驅動

CString FileName = L"first.xls";
	CString sDriver = L"MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安裝驅動 

	CString FILEEXCEL;
	FILEEXCEL.Format(L"DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s", sDriver, FileName, FileName);

第二步 打開數據庫 創建表

CDatabase date;
	CString ssql;
	if (date.OpenEx(FILEEXCEL, CDatabase::noOdbcDialog))
	{
		date.ExecuteSQL(L"CREATE TABLE 記錄表(FIR text,FIC text);");    // 字段為:名稱+類型
		//插入數據 
		for (int i = 0; i < 10; i++)
		{
			ssql.Format(L"INSERT INTO 記錄表(FIR,FIC) VALUES('%d','%d');", i, i);
			date.ExecuteSQL(ssql);
		}
		//關閉驅動
		date.ExecuteSQL(ssql);
	}
	else
	{
		AfxMessageBox(L"沒有Excel驅動");
	}

請看例子: 代碼[完整版]

void CExcelChangeDlg::OnBnClickedButton1()
{

	CString FileName = L"first.xls";
	CString sDriver = L"MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安裝驅動 

	CString FILEEXCEL;
	FILEEXCEL.Format(L"DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s", sDriver, FileName, FileName);


	CDatabase date;
	CString ssql;
	if (date.OpenEx(FILEEXCEL, CDatabase::noOdbcDialog))
	{
		date.ExecuteSQL(L"CREATE TABLE 記錄表(FIR text,FIC text);");
		
		//插入數據 // 如需遍歷數據庫插入請使用類似方法
		
		for (int i = 0; i < 10; i++)
		{
			ssql.Format(L"INSERT INTO 記錄表(FIR,FIC) VALUES('%d','%d');", i, i);
			date.ExecuteSQL(ssql);
		}
		//關閉驅動
		date.ExecuteSQL(ssql);
	}
	else
	{
		AfxMessageBox(L"沒有Excel驅動");
	}
	
	AfxMessageBox(L"導出完成!");

}

完成!!!

 

如有疑問請置評!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM