當前位置:首頁 » 手機修圖 » 搜索郭徽的圖片
擴展閱讀
女生和渣男搞笑圖片 2023-08-31 22:07:09
嘻嘻長什麼樣圖片 2023-08-31 22:06:10

搜索郭徽的圖片

發布時間: 2023-01-02 17:51:05

❶ 如何將C語言的輸出倒入Excel工作表

可以先用C語言格式化輸出為EXCEL可以導入的文本文件,再使用EXCEL手工導入。具體導入方法可參閱《往Excel中導入TXT文本數據的三種方法》:http://tech.sina.com.cn/s/2006-05-12/1042934532.shtml
這種方法最簡單, 但自動化程度低, 不能集成到你的C程序中去.

如果用C/C++創建EXCEL, 可以使用ADO或者ODBC.
如果用C++/ODBC, 可參閱《直接通過ODBC讀寫Excel表格文件》:http://www.vckbase.com/document/viewdoc/?id=421
還有《針對Excel表格文件操作的編程實現》:http://www.vckbase.com/document/viewdoc/?id=693
如果你的程序是用C++寫的, 推薦使用以上方法.

如果用C/ODBC, 稍微麻煩一點。我以前寫過一個,好像是根據一個C++的類改寫成C的, 時間太長, 記不得出處了. 現在給你做參考:
三個介面函數:
OpenExcel(): 創建或打開Excel文件的一個工作表
AppendExcel(): 向工作表中加入數據記錄
CloseExcel(): 結束處理

main()中示例的是建立test.xls文件, 其中兩個工作表. 我這里源程序用VC6.0編譯, 得到的結果在Excel 2003中可以使用.

#include <windows.h>
#include <sqlext.h>
#include <stdio.h>

#ifdef _MSC_VER
#pragma comment(lib,"odbc32.lib")
#define SQLLEN SQLINTEGER
#endif

enum errtype { ERRORFREE, ERRACTION, XLSBUSY, TXTBUSY, TXTOPENERROR,
SQLHANDLEENVERROR, SQLSETENVERROR, SQLHANDLEDBCERROR,
SQLCONNECTERROR, SQLALLOCSTMTERROR, SQLCREATEERROR,
SQLSELECTERROR, SQLBINDERROR } ;

SQLHENV henv;
SQLHDBC hdbc;
SQLHSTMT hstmt;

// ------------------------------------------------------------------------------------------------------------
static void dbError( LPSTR lp, SQLSMALLINT handleType, SQLHANDLE handle)
{
BYTE buf[250], sqlstate[15];
SQLGetDiagRec( handleType,handle, 1, sqlstate, NULL,buf, sizeof(buf),NULL);
fprintf(stderr, "%s: %s SQLSTATE=%s\n",lp, buf, sqlstate);
}

// ------------------------------------------------------------------------------------------------------------
static void dbCleanup()
{
if (hstmt != SQL_NULL_HANDLE) {
SQLFreeStmt(hstmt, SQL_UNBIND);
SQLFreeHandle(SQL_HANDLE_STMT,hstmt);
}
if (hdbc != SQL_NULL_HANDLE) {
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
}
if (henv != SQL_NULL_HANDLE) SQLFreeHandle(SQL_HANDLE_ENV,henv);
}

// ------------------------------------------------------------------------------------------------------------
static void dbErrorCleanup( LPSTR lp,SQLSMALLINT handleType, SQLHENV henv,SQLHDBC hdbc,SQLHSTMT hstmt)
{
SQLHANDLE handle;
switch (handleType) {
case SQL_HANDLE_STMT:
handle = hstmt;
break;
case SQL_HANDLE_DBC:
handle = hdbc;
break;
default:
handle = henv;
}
if (handle != SQL_NULL_HANDLE) dbError( lp, handleType, handle );
dbCleanup(henv, hdbc, hstmt );
}

//---------------------------------------------------------
static BOOL isFileOpen(const BYTE *fileName)
{
HANDLE hFile;
// 以非共享方式打開文件. 檢查EXCEL文件當前是否在使用中...........
hFile = CreateFile(fileName,GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);
if (hFile == INVALID_HANDLE_VALUE) {
if (GetLastError() == ERROR_SHARING_VIOLATION) return TRUE; // 使用中
else return FALSE; // 未使用中,或者無此文件(現在可以創建)
} else {
CloseHandle(hFile);
return FALSE;
}
}

int OpenExcel(BYTE *szExcelName, BYTE *szSheetName, BYTE *szFieldName[], BYTE *szFieldType[], int nColCount)
{
SQLRETURN retcode;
BYTE szSql[512], *pszSql=szSql;
BYTE szdatabase[256];
int rc, i;
henv = hdbc = hstmt = SQL_NULL_HANDLE;
if ( isFileOpen(szExcelName) ) return XLSBUSY;
// 准備環境 -------------------
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
if (retcode != SQL_SUCCESS) {
dbErrorCleanup( "SQLAllocHandle(ENV)",SQL_HANDLE_ENV,henv,hdbc,hstmt);
return SQLHANDLEENVERROR;
}
retcode = SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION, (SQLPOINTER) SQL_OV_ODBC3,0);
if (retcode != SQL_SUCCESS) {
dbErrorCleanup( "SQLSetEnvAttr()",SQL_HANDLE_ENV,henv,hdbc,hstmt);
return SQLSETENVERROR;
}
retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
if (retcode != SQL_SUCCESS) {
dbErrorCleanup( "SQLAllocHandle(DBC)",SQL_HANDLE_ENV,henv,hdbc,hstmt);
return SQLHANDLEDBCERROR;
}
// 與資料庫建立連接 ------------------
sprintf(szdatabase,"DRIVER=Microsoft Excel Driver (*.xls);CREATE_DB=%s;DBQ=%s;READONLY=FALSE;EXCLUSIVE=Yes;",
szExcelName, szExcelName);
//fprintf(stderr, "DATABASE: %s\n", szdatabase);
retcode = SQLDriverConnect(hdbc, NULL, (SQLCHAR *)szdatabase, (short) (strlen(szdatabase)+1), NULL, 0, NULL, SQL_DRIVER_NOPROMPT);
if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) {
dbErrorCleanup( "SQLDriverConnect()",SQL_HANDLE_DBC,henv,hdbc,hstmt);
return SQLCONNECTERROR;
}
retcode = SQLAllocHandle(SQL_HANDLE_STMT,hdbc, &hstmt);
if (retcode != SQL_SUCCESS) {
dbErrorCleanup( "SQLAllocHandle(STMT)",SQL_HANDLE_DBC,henv,hdbc,hstmt);
return SQLALLOCSTMTERROR;
}
// 構造執行 CREATE TABLE 語句 ----------------------
pszSql = szSql + sprintf(szSql, "CREATE TABLE %s (", szSheetName);
for (i=0; i<nColCount; ++i) {
if (i) *pszSql++ = ',';
pszSql += sprintf(pszSql, "%s %s", szFieldName[i], szFieldType[i]);
}
*pszSql++ = ')';
*pszSql = '\0';
//fprintf(stderr, "STATEMENT: [%s]\n", szSql);
retcode = SQLExecDirect(hstmt, szSql, SQL_NTS);
if (retcode != SQL_SUCCESS) {
SQLCHAR sqlState[15];
SQLGetDiagField( SQL_HANDLE_STMT, hstmt,1,SQL_DIAG_SQLSTATE,sqlState,sizeof(sqlState),NULL);
if ( lstrcmpiA(sqlState,"42S01") != 0 ) { // Already existing...
dbErrorCleanup( " SQLExecDirect()",SQL_HANDLE_STMT,henv,hdbc,hstmt);
return SQLCREATEERROR;
}
}
return 0;
}

int AppendExcel(BYTE *szSheetName, BYTE *szFieldName[], int nColCount, BYTE *szData)
{
int i, rc;
BYTE szSql[512], *s, *p, *d, *psz;
//構造 INSERT INTO 語句 --------------------------------
psz = szSql + sprintf(szSql, "INSERT INTO %s (", szSheetName);
for (i=0; i<nColCount; ++i) {
if (i) *psz++ = ',';
psz += sprintf(psz, "%s", szFieldName[i]);
}
psz += sprintf(psz, ") VALUES (%s)", szData);
//fprintf(stderr, "STATEMENT: %s\n", szSql);
rc = (int) SQLExecDirect(hstmt, szSql, SQL_NTS);
if (rc != SQL_SUCCESS) {
dbError( " SQLExecDirect()",SQL_HANDLE_STMT,hstmt);
}
return rc;
}

void CloseExcel()
{
//fprintf(stderr, "CleanUp: henv=%08X; hdbc=%08X, hstmt=%08X.\n", henv, hdbc, hstmt);
dbCleanup();
}

//------------------ Test data ---------------------------------------
static BYTE szExcelName[] = "Test.xls"; // Excel 文件名
static BYTE szSheetNameA[] = "名單"; // 工作表名
static BYTE *szFieldNameA[] = { "姓名", "年齡" }; // 欄位名
static BYTE *szFieldTypeA[] = { "TEXT", "NUMBER" }; // 欄位類型
static BYTE szSheetNameB[] = "日程"; // 工作表名
static BYTE *szFieldNameB[] = { "日期", "時間", "安排" }; // 欄位名
static BYTE *szFieldTypeB[] = { "TEXT", "TEXT", "TEXT" }; // 欄位類型

int main()
{
if (OpenExcel(szExcelName, szSheetNameA, szFieldNameA, szFieldTypeA, 2)==0)
{
AppendExcel(szSheetNameA, szFieldNameA, 2, "'張三',33");
AppendExcel(szSheetNameA, szFieldNameA, 2, "'李四',44");
printf("Excel文件[%s]中的工作表[%s] 操作成功.\n", szExcelName, szSheetNameA);
CloseExcel();
}
if (OpenExcel(szExcelName, szSheetNameB, szFieldNameB, szFieldTypeB, 3)==0)
{
AppendExcel(szSheetNameB, szFieldNameB, 3, "'五月三日','18:00','飯局'");
printf("Excel文件[%s]中的工作表[%s] 操作成功.\n", szExcelName, szSheetNameB);
CloseExcel();
}
printf(" ----- 完了.");
return 0;
}

---------------------------------------
有關函數的調用參數:
int OpenExcel( //成功:返回0
BYTE *szExcelName, //Excel文件名
BYTE *szSheetName, //工作表名
BYTE *szFieldName[], //欄位名(數組)
BYTE *szFieldType[], //欄位類型(數組)
int nColCount) //欄位數

int AppendExcel( //成功:返回0
BYTE *szSheetName, //工作表名
BYTE *szFieldName[], //欄位名(數組)
int nColCount, //欄位數
BYTE *szData) //數據字串

如使用圖形界面,可把#include <stdio.h> 去掉, printf/fprintf 改為用 MessageBox 提供必要的輸出信息或乾脆刪掉。

❷ 連天可汗都敢騙還在決斗里殺死唐將,細說唐代初征西北遺事

簡介:阿史那斛勃是東突厥汗室近支,東突厥頡利可汗滅亡後他不肯向唐朝歸降而是選擇了向北逃亡。伴隨著貞觀二十年薛延陀汗國的敗亡,在蒙古高原地區各部落出現了一股面向唐朝的「 」歸降」熱潮。李世民先後派出兩股人馬招撫乙注車鼻可汗阿史那斛勃,卻都沒有成功。李世民是否甘心於此?還是下更大的一盤棋? 大唐貞觀二十一年四月初十日(西元647年5月19日),朝廷在今內蒙古中部成立燕然都護府,並任命李素立為首任燕然都護,以作為統轄帝國北部羈縻領土瀚海等六府七州的上級機關。如前所述,燕然都護府的初始建制是六個羈縻都督府加七個羈縻州,其中六個都督府代表歸降的鐵勒十三部當中較大的六個部落集團,七個州則是分別各自由一個較小的部落構成。幾個月之後,由於骨利幹部落的加入,成立了第八個羈縻州,即玄闕州(位於今俄羅斯聯邦貝加爾湖以北的勒拿河流域一帶)。到貞觀二十二年二月,結骨部(黠戛斯)俟利發失缽屈阿棧率部入朝受封,隨後朝廷以此為契機,成立了第七個羈縻都督府——堅昆都督府(位於今俄羅斯聯邦安加拉河、葉尼塞河流域一帶)。一個月之後,原先隸屬於瀚海都督府的俱羅勃部被分出來單獨設置為第九個羈縻州燭龍州(大致位於今俄羅斯聯邦石勒喀河流域)。貞觀二十二年六月,又從原白霫部的寘顏州中分離出白霫別部設置了第十個羈縻州居延州(治所約在今內蒙古東部的東烏珠穆沁旗、巴林左旗一帶)。這樣一來,燕然都護府下屬就變成七個羈縻都督府加十個羈縻州總計十七個府州單位,統治面積則高達數百萬平方公里。截至李世民去世時的貞觀二十三年五月,燕然都護府編制內大致就是這樣的規模。 ▲唐太宗時疆域圖,圖片來源 Wikimedia Commons。 ▲隋朝時東西突厥地圖,圖片來源 Wikimedia Commons。 ▲唐代各都護府分布,圖片來源網路。 不過安西都護府與燕然都護府之間當時並沒有實現無縫銜接。因為還存在著一點小麻煩——在今阿爾泰山脈以北的地區,依然活躍著一股既不屬於西突厥也不屬於鐵勒——回紇諸部控制下的勢力——就是以前我們在講解東突厥滅亡過程時候提到過的東突厥殘余:乙注車鼻可汗阿史那斛勃部。 ▲安西都護府,圖片來源網路。 阿史那斛勃是東突厥汗室近支,東突厥頡利可汗滅亡後他不肯向唐朝歸降而是選擇了向北逃亡。當時蒙古高原薛延陀勢力鼎盛,鐵勒諸部不接受突厥人的統治,因此阿史那斛勃無力稱汗,最初只得依附於薛延陀勢力。但是雙方矛盾很快爆發,阿史那斛勃想借雞生蛋、壯大實力,薛延陀人則想著如何吞並這些突厥殘余,因此就差點發生了火並。最後阿史那斛勃只好率領部眾向西逃亡。當時薛延陀的勢力的基本盤大致在今蒙古國戈壁阿爾泰省東部及其以東的巴彥洪戈爾、前後杭愛省等地區,而在阿史那斛勃的率領下,突厥車鼻部最後在阿爾泰山以北大致相當於今蒙古國西部的科布多省、巴彥烏列蓋省及烏布蘇省一帶安頓定居下來。斛勃將牙帳建在烏布蘇湖盆地一帶,開始養精蓄銳積攢力量,經過若干年的努力,終於把勢力擴充到「 」勝兵三萬人」的規模(估計部落總人口十五萬左右)。 ▲影視劇頡利可汗形象,圖片來源網路。 ▲在唐朝與突厥之戰中,頡利可汗大敗,被阿史那忠生擒,押送至長安。阿史那忠後成為唐朝著名將領,圖為其墓壁畫,來源Wikimedia Commons。 ▲烏布蘇湖,圖片來源Wikimedia Commons。 ▲突厥武士復原圖,圖片來源網路。 薛延陀真珠可汗後期把主要精力集中於南下爭奪陰山南北的草原地帶,而且其北部可能受到回紇等部落的壓力,因此對於遠涉千里跨過大漠的西征行動心有餘而力不足,也就只好坐看阿史那斛勃勢力的壯大。 阿史那斛勃積聚部落恢復到一定元氣,於是建號自稱乙注車鼻可汗,並積極尋求向外擴張。當時西突厥忙於內戰,對於活動在阿爾泰山脈及額爾齊斯河流域的葛邏祿部落疏於控制,於是乙注車鼻可汗向西吞並了在額爾齊斯河流域中上游活動的部分葛邏祿部落,又向北擴展勢力,跨過唐努烏拉山控制了唐努烏梁海(今俄羅斯聯邦圖瓦共和國)及其以北的葉尼塞河流域部分地區(當時為結骨部落(也就是後世的黠戛斯)駐地)。乙注車鼻部與薛延陀處於敵對的狀態,所以趁著薛延陀部注意力南下的機會經常劫掠薛延陀的西北邊境以壯大自己。 ▲唐努烏梁海(今俄羅斯聯邦圖瓦共和國),圖片來源網路。 伴隨著貞觀二十年薛延陀汗國的敗亡,在蒙古高原地區各部落出現了一股面向唐朝的「 」歸降」熱潮,乙注車鼻可汗也派遣他的兒子沙缽羅特勤為使者追隨著這股潮流於貞觀二十一年來到長安。或許車鼻可汗只是想來探探朝廷的風向,但是對於這些送上門的土地人口,李世民卻已經惦記上了。他先後派出將軍郭廣敬(郭子儀家族的先人,郭子儀的某個四世再從堂伯祖,他的老爹郭弘道擔任過隋朝的同州刺史、郜國公,爺爺郭徽則擔任過西魏的同州司馬,可不要小瞧他爺爺的這個在後世看來不起眼的履歷噢,因為這正是他們家發達的原因之所在——同州在西魏時代是宇文泰的霸府駐地,是西魏政權的軍政中樞(地位類似於東魏的晉陽),而且據說楊忠也擔任過同州刺史,因此郭徽是一個早期就很接近關隴集團核心層的人物,並且很可能與隋代帝室先人早年就有深厚交往。)及雲麾將軍安調遮、右屯衛郎將韓華兩批使者前往試圖促成阿史那斛勃的歸順,結果卻都沒有成功——郭廣敬於貞觀二十一年抵達可汗的駐地,車鼻可汗的接待工作準備的非常熱情周到,他口吐蓮花,甚至表示自己也將要親自入朝覲見天可汗,把個郭廣敬哄得一愣一愣的。不過這顯然只是口頭虛晃一槍,其實阿史那斛勃根本沒有這方面的打算。結果就這么連哄帶騙讓郭廣敬回長安復命去了。(郭廣敬沒有死在車鼻部,這是可以肯定的,因為他後來至少在唐高宗年間擔任過左衛將軍兼太子左衛率上柱國郜國公甚至左威衛大將軍。) 李世民對阿史那斛勃的抵抗決心缺乏認識(或者說可能更需要一個戰爭的借口吧),他再度派出了雲麾將軍安調遮(胡人,不知道是否出自安興貴家族)與右屯衛郎將韓華於貞觀二十二年前往迎接阿史那斛勃入朝。(或者是以迎接的名義挾制他入朝?)結果兩人到了車鼻部的駐地一看,斛勃根本就沒有動身的意思。 ▲安興貴之子安元壽墓壁畫,圖片來源Wikimedia Commons。 兩人這下陷入了窘境:如果就這么回去完不成皇命丟人不說,搞不好還要被朝廷追究責任、撤職查辦;要打的話手頭又沒兵。這可怎麼辦呢? 兩人一合計,韓華決定鋌而走險,效法前輩們老辦法——聯絡對車鼻可汗統治不滿的部分葛邏祿部民將他劫持入京。結果由於行事不夠機密,被車鼻可汗提前發覺,韓華在與車鼻可汗的兒子陟苾特勒的決斗中戰死,連帶安調遮也被殺死。這第二次招撫也失敗了。 不過,一個更大的計劃正在展開…… (未完待續) 本文作者:姜良

❸ [c++]推薦一個可以讀寫EXCEL的方法!

想要通過ODBC直接讀、寫Excel表格文件,首先,應確保ODBC中已安裝有Excel表格文件的驅動"MICROSOFT EXCEL DRIVER (*.XLS)"。然後,可根據下面步驟進行:
1. 在StdAfx.h文件中加入:
include <afxdb.h>
include <odbcinst.h>

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;
}

❹ 如何將excel中的數據導入到c語言中的數組中

簡單的方法是通過ODBC來實現:
具體實現
一、 包含Excel文件操作類頭文件
#include "CSpreadSheet.h"
二、 新建Excel文件,並寫入默認數據
// 新建Excel文件名及路徑,TestSheet為內部表名
CSpreadSheet SS("c:\\Test.xls", "TestSheet");
CStringArray sampleArray, testRow;
SS.BeginTransaction();
// 加入標題
sampleArray.RemoveAll();
sampleArray.Add("姓名");
sampleArray.Add("年齡");
SS.AddHeaders(sampleArray);
// 加入數據
CString strName[] = {"徐景周","徐志慧","郭徽","牛英俊","朱小鵬"};
CString strAge[] = {"27","23","28","27","26"};
for(int i = 0; i < sizeof(strName)/sizeof(CString); i++)
{
sampleArray.RemoveAll();
sampleArray.Add(strName[i]);
sampleArray.Add(strAge[i]);
SS.AddRow(sampleArray);
}

SS.Commit();
三、 讀取Excel文件數據
CSpreadSheet SS("c:\\Test.xls", "TestSheet");
CStringArray Rows, Column;
//清空列表框
m_AccessList.ResetContent();
for (int i = 1; i <= SS.GetTotalRows(); i++)
{
// 讀取一行
SS.ReadRow(Rows, i);
CString strContents = "";
for (int j = 1; j <= Rows.GetSize(); j++)
{
if(j == 1)
strContents = Rows.GetAt(j-1);
else
strContents = strContents + " --> " + Rows.GetAt(j-1);
}
m_AccessList.AddString(strContents);
}