| ²é¿´: 177 | »Ø¸´: 1 | |||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | |||
zsgllyľ³æ (ÖøÃûдÊÖ)
|
[½»Á÷]
Ö±½Óͨ¹ý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); [ Last edited by »ÃÓ°ÎÞºÛ on 2006-11-27 at 08:15 ] |
» ²ÂÄãϲ»¶
340Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
²ÄÁÏר˶ÕÒµ÷¼Á
ÒѾÓÐ4È˻ظ´
0854µç×ÓÐÅÏ¢Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
0805 316Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
0854 ¿¼Ñе÷¼Á ÕÐÉúÁË£¡AI ·½Ïò
ÒѾÓÐ17È˻ظ´
¡¾¿¼Ñе÷¼Á¡¿»¯Ñ§×¨Òµ 281·Ö£¬Ò»Ö¾Ô¸ËÄ´¨´óѧ£¬³ÏÐÄÇóµ÷¼Á
ÒѾÓÐ15È˻ظ´
×ÊÔ´Óë»·¾³ µ÷¼ÁÉêÇë(333·Ö)
ÒѾÓÐ7È˻ظ´
306Çó0703µ÷¼ÁÒ»Ö¾Ô¸»ªÖÐʦ·¶
ÒѾÓÐ11È˻ظ´
0703»¯Ñ§µ÷¼Á£¬Çóµ¼Ê¦ÊÕ
ÒѾÓÐ6È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´

zsglly
ľ³æ (ÖøÃûдÊÖ)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ¹ó±ö: 0.15
- ½ð±Ò: 2268.7
- Ìû×Ó: 1035
- ÔÚÏß: 4.1Сʱ
- ³æºÅ: 83160
- ×¢²á: 2005-07-28
- ÐÔ±ð: GG
- רҵ: ´«ÈÈ´«ÖÊѧ
|
// ÒÆµ½ÏÂÒ»ÐÐ 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; } |

2Â¥2006-01-01 18:21:02













;
»Ø¸´´ËÂ¥