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

飛天

快樂的生活......

 

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>
            欧美激情视频一区二区三区在线播放 | 国产精品99久久久久久人| 国产精品福利在线观看网址| 欧美日韩国产成人| 欧美日韩一区二区三区在线观看免 | 国产精品成人一区二区三区夜夜夜| 欧美精品久久一区二区| 欧美婷婷久久| 国内外成人在线| 亚洲娇小video精品| 亚洲视频在线观看视频| 欧美在线免费| 欧美激情第4页| 一区二区三区国产在线观看| 西西裸体人体做爰大胆久久久| 久久九九国产精品怡红院| 欧美黄色精品| 国产日韩一区在线| 亚洲国产欧美日韩另类综合| 在线视频你懂得一区| 久久久国产成人精品| 亚洲国产精品传媒在线观看| 最新国产成人在线观看| 亚洲免费中文| 欧美电影在线观看完整版| 国产精品视频久久| 亚洲国产精品毛片| 午夜精品成人在线| 91久久国产精品91久久性色| 亚洲欧美在线一区| 欧美日韩国产美| 尤物视频一区二区| 先锋影音国产一区| 亚洲国产日韩欧美综合久久| 先锋影音久久| 欧美视频亚洲视频| 亚洲精品麻豆| 麻豆精品传媒视频| 亚洲欧美一区二区三区极速播放| 欧美成人情趣视频| 伊人久久综合| 久久不射电影网| 在线一区二区三区四区五区| 欧美激情一区在线观看| 伊人男人综合视频网| 欧美专区第一页| 亚洲一区二区三区四区五区黄| 欧美精品久久99| 亚洲美女一区| 最新中文字幕一区二区三区| 麻豆久久久9性大片| 一区二区三区在线视频观看| 久久精品日产第一区二区三区 | 亚洲精品综合精品自拍| 久久一二三国产| 国内外成人免费激情在线视频网站 | 亚洲精品韩国| 欧美大片一区二区三区| 91久久夜色精品国产网站| 免费亚洲一区| 美女视频黄免费的久久| 亚洲激情在线播放| 亚洲国产一区二区精品专区| 欧美成人官网二区| aa级大片欧美三级| 亚洲精品一区二区三| 欧美日韩一区二区国产| 亚洲欧美日韩系列| 欧美在线视频一区| 亚洲高清123| 亚洲人成网站777色婷婷| 欧美日韩精品免费观看| 午夜精品视频| 久久精品日韩一区二区三区| 亚洲风情亚aⅴ在线发布| 亚洲国产精品一区二区三区| 欧美日韩中文字幕| 久久久国产精品一区| 久久婷婷丁香| 亚洲少妇自拍| 欧美在线高清| 日韩一区二区免费高清| 亚洲图片激情小说| 尤物精品在线| 亚洲韩国一区二区三区| 国产精品久久久久毛片软件| 久热爱精品视频线路一| 欧美精品网站| 久久久久国产精品一区| 欧美另类在线播放| 先锋影音久久| 欧美国产视频在线| 久久久精品日韩| 欧美日韩精品在线播放| 久久久久一本一区二区青青蜜月| 牛夜精品久久久久久久99黑人 | 亚洲国产一区二区三区青草影视| 欧美xx69| 久久久国产视频91| 欧美日韩亚洲天堂| 免播放器亚洲一区| 国产精品大全| 亚洲大片在线观看| 国产一区二区三区黄| 99国产一区| 精品电影一区| 亚洲欧美在线免费| 一区二区精品在线观看| 久久精品99国产精品| 欧美高清视频一二三区| 久久久之久亚州精品露出| 欧美精品一区二区蜜臀亚洲| 久久一区中文字幕| 国产精品一区久久久久| 亚洲精品综合久久中文字幕| 在线成人激情黄色| 午夜在线电影亚洲一区| 亚洲午夜av| 欧美另类极品videosbest最新版本| 久久久久高清| 国产乱码精品一区二区三区五月婷| 亚洲精品一区在线观看香蕉| 亚洲国产美女精品久久久久∴| 欧美在线免费观看| 久久成人在线| 国产一区成人| 久久国产精品72免费观看| 欧美亚洲日本网站| 国产精品综合网站| 亚洲欧美国产制服动漫| 午夜精品视频| 国产精品视频内| 亚洲综合精品四区| 欧美在线关看| 国产午夜亚洲精品羞羞网站| 亚洲欧美国产精品va在线观看| 9久re热视频在线精品| 欧美理论在线| 亚洲黄色在线| 亚洲视频免费在线| 国产精品都在这里| 亚洲综合电影| 久久久久国内| 亚洲国产精品久久久久婷婷老年 | 欧美福利视频网站| 91久久精品一区| 中国av一区| 国产精品视频午夜| 午夜视频在线观看一区二区三区| 久久久久久精| 91久久久久久久久久久久久| 欧美欧美在线| 亚洲一区二区高清| 久久免费精品视频| 亚洲国产免费看| 欧美日韩一级片在线观看| 亚洲主播在线| 免费看的黄色欧美网站| 一区二区三区视频免费在线观看 | a4yy欧美一区二区三区| 国产精品乱码久久久久久| 欧美怡红院视频一区二区三区| 老鸭窝毛片一区二区三区| 亚洲精品欧美激情| 国产精品美女久久久| 久久色在线播放| 一本色道久久综合精品竹菊| 久久久久久自在自线| 99在线视频精品| 韩日精品视频一区| 欧美特黄一区| 免费成人av| 午夜精品国产| 亚洲精品视频在线播放| 久久精品国产2020观看福利| 亚洲国产高清一区二区三区| 欧美性大战久久久久久久| 久久精品视频免费观看| 一本久久a久久精品亚洲| 久久久久久久综合| 制服丝袜亚洲播放| 亚洲黄色免费网站| 国产亚洲精品aa午夜观看| 欧美日韩免费在线视频| 久久资源av| 亚洲欧美国产毛片在线| 亚洲国产精品国自产拍av秋霞| 亚洲欧美一级二级三级| 亚洲三级影片| 亚洲高清免费视频| 国产亚洲福利社区一区| 欧美精品尤物在线| 老鸭窝亚洲一区二区三区| 午夜精品久久久久久久男人的天堂| 亚洲激情成人在线| 欧美www视频| 久久精品成人| 久久国产手机看片| 性做久久久久久久久| 亚洲一区二区在线免费观看视频|