青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

飛天

快樂的生活......

 

Bcb中的Excel操作類

      最近做一個(gè)專案,要求能將Excel表中的數(shù)據(jù)轉(zhuǎn)入數(shù)據(jù)庫,反之將數(shù)據(jù)庫的內(nèi)容導(dǎo)入到Excel表中。看了網(wǎng)上寫的關(guān)于操作Excel的方法,寫了一個(gè)簡單的Excel操作類。功能還不是很完善,以后再慢慢修改。 
    
***********************************************************************
 
* Module:  TExcel.cpp
 
* Author:  cjz
 
* Modified: 2007-07-29日 11:07:30
 
* Purpose: Implementation of the class TExcel
 
* Comment: Excel巨摸
 
***********************************************************************/

#include 
<vcl.h>
#include 
"TExcel.h"
#include 
"vcl\utilcls.h"

////////////////////////////////////////////////////////////////////////
// Name:       TExcel::TExcel()
// Purpose:    Implementation of TExcel::TExcel()
// Return:
////////////////////////////////////////////////////////////////////////

TExcel::TExcel()
{
        Sheet
=new TSheet();
    NewExcel();
}


////////////////////////////////////////////////////////////////////////
// Name:       TExcel::TExcel(AnsiString m_strFile)
// Purpose:    Implementation of TExcel::TExcel()
// Comment:    帶參數(shù)的構(gòu)造函數(shù)
// Parameters:
// - m_strFile
// Return:
////////////////////////////////////////////////////////////////////////

TExcel::TExcel(AnsiString m_strFile)
{
   strFileName
=m_strFile;
   Sheet
=new TSheet();
   OpenExcel();
   
}


////////////////////////////////////////////////////////////////////////
// Name:       TExcel::~TExcel()
// Purpose:    Implementation of TExcel::~TExcel()
// Return:     
////////////////////////////////////////////////////////////////////////

TExcel::
~TExcel()
{
   
//CloseExcel();
}


////////////////////////////////////////////////////////////////////////
// Name:       TExcel::OpenExcel()
// Purpose:    Implementation of TExcel::OpenExcel()
// Return:     bool
////////////////////////////////////////////////////////////////////////

bool __fastcall TExcel::OpenExcel(void)
{
   
if(!FileExists(strFileName))
   
{
     MessageDlg(
"ゅンぃ!",
             mtWarning, TMsgDlgButtons() 
<< mbOK, 0);
     
return false;
   }

   
try
   
{
       CoInitialize(NULL);
       vEx
=CreateOleObject("Excel.Application");
       vEx.OPS(
"Visible",false);
       vEx.OPG(
"WorkBooks").OPR("Open",strFileName.c_str());
       vWb
=vEx.OPG("ActiveWorkBook");
       vSh
=vWb.OPG("ActiveSheet");

           nSheetCount
=vWb.OPG("sheets").OPG("count");

   }

   
catch()
   
{
        ShowMessage(
"礚猭幣笆Excel,琌⊿Τ桿!");
         
return false;
   }

   
return true;
}


////////////////////////////////////////////////////////////////////////
// Name:       TExcel::NewExcel()
// Purpose:    Implementation of TExcel::NewExcel()
// Return:     bool
////////////////////////////////////////////////////////////////////////

bool __fastcall TExcel::NewExcel(void)
{
   
try
   
{
           CoInitialize(NULL);
       vEx
=Variant::CreateObject("Excel.Application");
       vEx.OPS(
"Visible",false);
       vEx.OPG(
"WorkBooks").OFN("Add",1);
       vWb
=vEx.OPG("ActiveWorkBook");
       vSh
=vWb.OPG("ActiveSheet");

           Sheet
->vSh=&vSh;
           nSheetCount
=1;

   }

   
catch()
   
{
        ShowMessage(
"礚猭幣笆Excel,琌⊿Τ桿!");
         
return false;
   }

   
return true;
}


//---------------------------------------------------------------------
//睰痢
void __fastcall TExcel::AddSheet(AnsiString SheetName)
{
    vEx.OPG(
"WorkBooks").OFN("Add",1);
    nSheetCount
=vWb.OPG("sheets").OPG("count");
    Sheets[nSheetCount]
->Name=SheetName;
}

////////////////////////////////////////////////////////////////////////
// Name:       TExcel::SaveExcel()
// Purpose:    Implementation of TExcel::SaveExcel()
// Return:     bool
////////////////////////////////////////////////////////////////////////

bool  __fastcall TExcel::SaveExcel(void)
{
   
try
   
{
    vWb.OFN(
"save");
   }

   
catch()
   
{
      MessageDlg(
"玂Excelゅ郎ア毖!",
            mtWarning, TMsgDlgButtons() 
<< mbOK, 0);
         
return false;
   }

   
return true;

}


////////////////////////////////////////////////////////////////////////
// Name:       TExcel::SaveAsExcel()
// Purpose:    Implementation of TExcel::SaveAsExcel()
// Return:     bool
////////////////////////////////////////////////////////////////////////

bool  __fastcall TExcel::SaveAsExcel(AnsiString fileName)
{
   
if(FileExists(fileName))
   
{
          
if(MessageDlg("ゅン,琌灤籠?",mtConfirmation,TMsgDlgButtons()<<mbYes<<mbNo,0)==mrYes)
          
{
              DeleteFile(fileName);
          }

          
else
          
{
                vWb.OPG(
"Application").OPS("DisplayAlerts",false);
                
return false;
          }

   }

   
try
   
{
     vWb.OFN(
"SaveAs",fileName.c_str());
   }

   
catch()
   
{
         MessageDlg(
"玂Excelゅ郎ア毖!",
            mtWarning, TMsgDlgButtons() 
<< mbOK, 0);
         
return false;
   }

   
return true;
}


////////////////////////////////////////////////////////////////////////
// Name:       TExcel::CloseExcel()
// Purpose:    Implementation of TExcel::CloseExcel()
// Return:     void
////////////////////////////////////////////////////////////////////////

void  __fastcall TExcel::CloseExcel(void)
{
   vWb.OFN(
"close");
   vEx.OFN(
"quit");

   vWb
=Unassigned;
   vEx
=Unassigned;
   CoUninitialize();
}


//---------------------------------------------------------------------
//妮┦:莉材i茂
TSheet *  __fastcall TExcel::GetSheet(int i)
{
    
//狦諷玡痢i,玥玥痢i
    if(i==nCurrSheet)
       
return Sheet;
    
else
       nCurrSheet
=i;
    
if(i<1||i>nSheetCount)
        
throw "ぃ茂"+i;
    vSh
=vWb.OPG("Sheets",i);

    nRows
=vSh.OPG("UsedRange").OPG("Rows").OPG("count");
    nColumns
=vSh.OPG("UsedRange").OPG("Columns").OPG("count");

    Sheet
->nRows=nRows;
    Sheet
->nColumns=nColumns;
    Sheet
->vSh=&vSh;
    
return Sheet;

}
暈死,變成亂碼。
TExcel.h 文件頭

工作表類:

TSheet 文件頭

       使用方法:
     1.打開文件
         TExcel *excel=new TExcel("要打開的文件名");
     2.新建文件
         TExcel *excel=new TExcel();
     3.獲取工作薄n的單元格(i,j)
         excel->Sheets[n]->GetCells(i,j);返回值是一個(gè)Varaint類型。
     4.設(shè)置工作薄n的單元格(i,j)值
        excel->Sheets[n]->SetCell(i,j,value);
      5.獲取或設(shè)置工作薄名稱
        excel->Sheets[n]->Name="...";或sheetname=excel->Sheets[n]->Name;
      6.保存和另存為。
       excel->SaveExcel();
       excel->SaveAsExcel("新的文件名");
      7.關(guān)閉
       excel->CloseExcel();

posted on 2007-08-03 10:29 飛天 閱讀(1561) 評論(0)  編輯 收藏 引用 所屬分類: C++Builder

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

Blogs

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一本色道久久综合亚洲二区三区| 欧美一级播放| 亚洲小视频在线| 亚洲第一视频网站| 国产九九精品| 亚洲一级特黄| 日韩视频在线观看| 亚洲高清影视| 久久综合激情| 米奇777在线欧美播放| 亚洲大片免费看| 在线精品国产成人综合| 国内精品视频一区| 国外成人网址| 在线欧美日韩国产| 在线日韩精品视频| 亚洲精品国产日韩| 亚洲免费电影在线| 正在播放亚洲| 亚洲午夜高清视频| 在线免费观看成人网| 黄色亚洲在线| 亚洲成色777777在线观看影院| 国产自产v一区二区三区c| 欧美一区二区私人影院日本| 一区二区动漫| 亚洲一区三区电影在线观看| 欧美不卡高清| 久久深夜福利免费观看| 鲁大师影院一区二区三区| 亚洲成人在线免费| 午夜精品一区二区在线观看 | 欧美国产一区二区在线观看 | 欧美电影专区| 欧美在线日韩精品| 久久精品综合网| 欧美黑人国产人伦爽爽爽| 欧美日韩国产亚洲一区| 国产精品第一页第二页第三页| 国产视频精品xxxx| 亚洲高清久久网| 中国日韩欧美久久久久久久久| 午夜影视日本亚洲欧洲精品| 久久久欧美精品sm网站| 亚洲高清不卡在线观看| 在线亚洲电影| 欧美不卡一卡二卡免费版| 99re6这里只有精品视频在线观看| 亚洲图片欧美午夜| 久久嫩草精品久久久精品一| 欧美久久影院| 欧美午夜精品久久久久久孕妇| 国产一区二区电影在线观看| 亚洲国产视频一区二区| 性色av一区二区怡红| 亚洲电影有码| 久久精品国产免费| 国产精品av免费在线观看| 欧美日韩不卡视频| 伊人久久大香线蕉综合热线| 在线综合亚洲欧美在线视频| 老司机免费视频一区二区| 亚洲最新视频在线| 亚洲永久免费av| 欧美日韩直播| 日韩视频免费看| 久久精品国产免费观看| 亚洲狼人精品一区二区三区| 久久精品主播| 欧美日本韩国在线| 在线观看91精品国产入口| 久久国产精品毛片| 亚洲视频一区二区| 欧美日韩精品一区二区| 亚洲巨乳在线| 亚洲国产综合91精品麻豆| 久久精品网址| 永久555www成人免费| 久久久久综合网| 午夜宅男欧美| 国产亚洲精品成人av久久ww| 国内一区二区三区| 亚洲国产精品成人综合| 久久亚洲欧洲| 久久精品国产精品| 久久精品综合| 午夜精品一区二区三区四区| 国产精品爱久久久久久久| 欧美四级剧情无删版影片| 亚洲国产精品一区二区第四页av| 午夜精品福利在线| 99亚洲伊人久久精品影院红桃| 欧美日韩1080p| 日韩一级成人av| 亚洲激情社区| 欧美精品www在线观看| 午夜精品www| 亚洲综合三区| 国产一区二区日韩精品| 日韩视频在线观看免费| 一本久道久久综合中文字幕| 欧美性一区二区| 西西裸体人体做爰大胆久久久| 久久青草福利网站| 欧美激情一区二区三区成人 | 欧美激情一区二区三区在线视频观看 | 99视频日韩| 99国产精品久久久久久久久久| 国产精品日韩欧美一区二区三区| 欧美成人激情在线| 国产精品久久久爽爽爽麻豆色哟哟| 久久av一区二区| 欧美福利视频在线| 久久蜜桃av一区精品变态类天堂| 欧美成年人视频| 狼狼综合久久久久综合网| 欧美午夜片在线免费观看| 农村妇女精品| 国产亚洲欧美另类中文| 在线亚洲成人| 中文亚洲视频在线| 久久综合一区二区| 狼狼综合久久久久综合网| 国产日产精品一区二区三区四区的观看方式 | 亚洲视频免费看| 久久久精彩视频| 一区二区三区四区国产精品| 免费在线观看日韩欧美| 久久久999精品| 国产精品久久久久毛片软件 | 久久国产66| 国产精品色网| 亚洲欧美在线网| 欧美一区二区三区另类| 国产精品99免视看9| 亚洲美女福利视频网站| 99国产精品视频免费观看| 欧美一区二区成人| 久久综合久久综合这里只有精品 | 亚洲高清在线| 久久久久国内| 免费不卡在线视频| 国产精品普通话对白| 99在线精品视频在线观看| 亚洲国产经典视频| 欧美精品福利视频| 亚洲日韩欧美视频| 欧美成人一区二区| 欧美在线看片| 国产精品女人网站| 欧美一区二区三区在线播放| 日韩网站在线看片你懂的| 噜噜噜久久亚洲精品国产品小说| 女生裸体视频一区二区三区| 亚洲黄网站黄| 欧美连裤袜在线视频| 欧美国产激情二区三区| 亚洲精品久久久久久下一站| 欧美一区久久| 欧美大胆a视频| 中国成人在线视频| 国产无遮挡一区二区三区毛片日本| 久久国产精品亚洲va麻豆| 欧美成人精品h版在线观看| 亚洲狼人综合| 国产午夜精品福利| 欧美激情一二三区| 午夜电影亚洲| 亚洲日韩成人| 久久精品一区二区三区中文字幕| 亚洲国产日韩一区| 国产伦精品一区二区三区四区免费 | 亚洲国产精品第一区二区| 亚洲无亚洲人成网站77777| 国模 一区 二区 三区| 欧美连裤袜在线视频| 久久精品免费播放| 亚洲少妇在线| 亚洲成色最大综合在线| 先锋影音一区二区三区| 在线观看中文字幕亚洲| 国产精品美女久久久免费| 久热精品视频在线观看| 一区二区日本视频| 性欧美xxxx大乳国产app| 亚洲精品一区二区三区在线观看 | 日韩视频精品在线| 国产人成一区二区三区影院| 欧美精品首页| 久久婷婷一区| 欧美一级电影久久| 一道本一区二区| 亚洲狠狠丁香婷婷综合久久久| 欧美在线观看视频一区二区三区| 亚洲免费av电影| 亚洲国产美女精品久久久久∴| 国产偷自视频区视频一区二区| 欧美日韩一级片在线观看| 欧美顶级大胆免费视频| 久久影音先锋|