老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

c++讀取excel的代碼詳解

c++如何讀取excel?C++ ODBC操作excel全過程

創新互聯服務項目包括吉陽網站建設、吉陽網站制作、吉陽網頁制作以及吉陽網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,吉陽網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到吉陽省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!

想要通過ODBC直接讀、寫Excel表格文件,首先,應確保ODBC中已安裝有Excel表格文件的驅動"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根據下面步驟進行:

1. 在StdAfx.h文件中加入:

#include  
#include 

2. 通過ODBC直接創建Excel文件(暫定文件名:Demo.xls)

//創建并寫入Excel文件
void CRWExcel::WriteToExcel()
{
CDatabase database;
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安裝驅動
CString sExcelFile = "c:\\demo.xls"; // 要建立的Excel文件
CString sSql;
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 = "CREATE TABLE demo (Name TEXT,Age NUMBER)";
database.ExecuteSQL(sSql);
// 插入數值
sSql = "INSERT INTO demo (Name,Age) VALUES ('徐景周',26)";
database.ExecuteSQL(sSql);
sSql = "INSERT INTO demo (Name,Age) VALUES ('徐志慧',22)";
database.ExecuteSQL(sSql);
sSql = "INSERT INTO demo (Name,Age) VALUES ('郭徽',27)";
database.ExecuteSQL(sSql);
} 
// 關閉數據庫
database.Close();
}
CATCH_ALL(e)
{
TRACE1("Excel驅動沒有安裝: %s",sDriver);
}
END_CATCH_ALL;
}

3. 通過ODBC直接讀取Excel文件(暫定文件名:Demo.xls)

// 讀取Excel文件
void CRWExcel::ReadFromExcel() 
{
CDatabase database;
CString sSql;
CString sItem1, sItem2;
CString sDriver;
CString sDsn;
CString sFile = "Demo.xls"; // 將被讀取的Excel文件名
// 檢索是否安裝有Excel驅動 "Microsoft Excel Driver (*.xls)" 
sDriver = GetExcelDriver();
if (sDriver.IsEmpty())
{
// 沒有發現Excel驅動
AfxMessageBox("沒有安裝Excel驅動!");
return;
}
// 創建進行存取的字符串
sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, sFile);
TRY
{
// 打開數據庫(既Excel文件)
database.Open(NULL, false, false, sDsn);
CRecordset recset(&database);
// 設置讀取的查詢語句.
sSql = "SELECT Name, Age "
"FROM demo "
"ORDER BY Name ";
// 執行查詢語句
recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);
// 獲取查詢結果
while (!recset.IsEOF())
{
//讀取Excel內部數值
recset.GetFieldValue("Name ", sItem1);
recset.GetFieldValue("Age", sItem2);
// 移到下一行
recset.MoveNext();
}
// 關閉數據庫
database.Close();
}
CATCH(CDBException, e)
{
// 數據庫操作產生異常時...
AfxMessageBox("數據庫錯誤: " + e->m_strError);
}
END_CATCH;
}
// 獲取ODBC中Excel驅動
CString CRWExcel::GetExcelDriver()
{
char szBuf[2001];
WORD cbBufMax = 2000;
WORD cbBufOut;
char *pszBuf = szBuf;
CString sDriver;
// 獲取已安裝驅動的名稱(涵數在odbcinst.h里)
if (!SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut))
return "";
// 檢索已安裝的驅動是否有Excel...
do
{
if (strstr(pszBuf, "Excel") != 0)
{
//發現 !
sDriver = CString(pszBuf);
break;
}
pszBuf = strchr(pszBuf, '\0') + 1;
}
while (pszBuf[1] != '\0');
return sDriver;
}

以上就是c++如何讀取excel的詳細內容,希望創新互聯整理的內容能夠幫助到大家。


標題名稱:c++讀取excel的代碼詳解
文章源于:http://www.xueling.net.cn/article/ieecch.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 77导航福利在线 | 国产精华液一线二线三线区别 | 日韩高清不卡在线 | 亚洲精品久久av无码一区二区 | 成人91网站| 免费在线播放黄色 | 亚洲人成人网站在线观看 | 日韩欧美永久中文字幕视频 | 国产成人精品日本亚洲18 | 中文人妻av久久人妻水蜜桃 | 一个人看的www免费视频在线观看 | 久久久久亚洲AV无码尤物 | 日本不卡视频一区二区 | 久久免费视频播放 | 真实国产老熟女无套中出 | 亚洲蜜臀av国产aⅴ综合小说 | 欧美一区二区观看视频 | av网免费观看 | 欧美成人一区亚洲一区 | 丁香花在线观看免费观看图片 | A片无码国产精品性BBV | 久久久高清免费视频 | 国产精品自在自线 | 蜜臀性色AV免费 | 狠狠亚洲婷婷综合色香五月排名 | 欧洲熟妇性色黄 | 国产精品亚洲第一区二区三区 | 国产a级一级片 | 精品国产98久久久久久 | 少妇人妻综合久久中文字幕 | 91视频ww | 久热精品在线视频 | 呻吟求饶的办公室人妻 | 国产极品在线视频 | 人与性动交aaaabbbb | 国产亚洲成AV人片在线观黄桃 | 国产vps毛片 | 亚洲视频综合网 | 精品免费国产一区二区三区四区介绍 | 特级毛片免费观看视频 | 叶子楣三级在线观看 |