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

飛天

快樂的生活......

 

Bcb中的Excel操作類

      最近做一個(gè)專案,要求能將Excel表中的數(shù)據(jù)轉(zhuǎn)入數(shù)據(jù)庫(kù),反之將數(shù)據(jù)庫(kù)的內(nèi)容導(dǎo)入到Excel表中。看了網(wǎng)上寫的關(guān)于操作Excel的方法,寫了一個(gè)簡(jiǎn)單的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 飛天 閱讀(1564) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++Builder

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

Blogs

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧洲免费视频| 久久综合亚洲社区| 伊伊综合在线| 亚洲欧美日产图| 亚洲香蕉在线观看| 欧美黄网免费在线观看| 亚洲电影在线观看| 黄色成人在线免费| 久久久www| 免费欧美视频| 亚洲第一精品在线| 久久免费午夜影院| 蜜月aⅴ免费一区二区三区| 在线免费观看日本一区| 另类尿喷潮videofree| 亚洲国产99| 亚洲视频1区| 国产精品白丝av嫩草影院| 一区二区三区成人精品| 亚洲欧美网站| 国产一区二区电影在线观看 | 这里只有精品丝袜| 欧美日韩视频不卡| 亚洲免费网站| 久久免费偷拍视频| 在线精品视频免费观看 | 亚洲第一福利视频| 99re6这里只有精品| 欧美日韩精品一区二区在线播放| 日韩视频在线一区| 久久成人精品无人区| 激情视频一区二区三区| 欧美成人高清| 亚洲视频在线免费观看| 久久精品亚洲乱码伦伦中文| 尤物yw午夜国产精品视频| 欧美顶级艳妇交换群宴| 亚洲一区二区三区在线播放| 久久一二三四| 一本色道久久综合亚洲91| 国产精品亚洲成人| 久久夜色精品一区| 日韩亚洲综合在线| 久久gogo国模裸体人体| 亚洲激情第一区| 国产精品爱啪在线线免费观看 | 榴莲视频成人在线观看| 亚洲青涩在线| 国产欧美日本一区视频| 美女主播一区| 亚洲综合三区| 欧美激情第一页xxx| 亚洲欧美日韩国产中文在线| 亚洲大片免费看| 欧美日韩在线观看视频| 久久av一区二区三区| 亚洲精选91| 欧美xx视频| 久久av一区二区三区漫画| 午夜视频一区| 欧美黄在线观看| 欧美亚洲三区| 一本色道久久综合精品竹菊 | 欧美日韩精品一区视频| 久久九九国产| 亚洲男女自偷自拍| 亚洲美女视频网| 欧美不卡视频一区发布| 亚洲欧美国产日韩中文字幕| 亚洲精品一级| 在线成人www免费观看视频| 国产精品国产精品国产专区不蜜| 久久综合99re88久久爱| 亚洲欧美日韩在线| av成人激情| 欧美激情综合| 久久久美女艺术照精彩视频福利播放| 99精品欧美一区二区三区| 亚洲高清免费| 极品少妇一区二区| 国产在线精品二区| 欧美性开放视频| 欧美日韩国产不卡| 欧美国产亚洲精品久久久8v| 美女免费视频一区| 久久精品夜色噜噜亚洲aⅴ| 午夜精品一区二区三区四区| 一区二区三区你懂的| 亚洲精品黄色| 亚洲国产精品久久久久秋霞影院| 久热成人在线视频| 久久午夜激情| 久久亚洲综合色| 久久久一区二区三区| 久久国内精品自在自线400部| 欧美一级夜夜爽| 欧美一区二区三区另类| 亚洲视频在线观看免费| 中文在线不卡| 亚洲欧美春色| 亚洲免费视频观看| 欧美一级久久| 久久久久综合网| 欧美 日韩 国产一区二区在线视频 | 一区二区三区 在线观看视频 | 欧美特黄a级高清免费大片a级| 欧美激情aaaa| 欧美人与性动交a欧美精品| 欧美精品自拍| 国产精品99免费看 | 亚洲小说春色综合另类电影| aⅴ色国产欧美| 一本久道综合久久精品| 在线亚洲一区二区| 亚洲欧美国产精品桃花| 欧美在线视频全部完| 久久久久国产精品一区三寸| 免费观看成人www动漫视频| 欧美福利电影网| 亚洲国产天堂久久综合网| 91久久久久久久久| 一本色道久久88综合亚洲精品ⅰ| 亚洲视频大全| 欧美中在线观看| 免费观看成人www动漫视频| 欧美精品成人91久久久久久久| 欧美视频在线播放| 国产一区视频在线看| 亚洲人永久免费| 午夜一区二区三区不卡视频| 另类图片综合电影| 亚洲精品综合| 午夜精品一区二区三区四区| 久久青青草综合| 欧美三级视频在线播放| 国产一区二区三区在线观看视频 | 欧美母乳在线| 国产乱人伦精品一区二区 | 亚洲一二三四久久| 久久国产视频网站| 欧美国产日韩精品| 国产精品美女久久久久av超清| 一区二区亚洲精品国产| 国产精品99久久久久久久久| 久久精品亚洲| 亚洲精品女av网站| 亚洲一区二三| 暖暖成人免费视频| 国产九区一区在线| 亚洲人久久久| 久久久久久97三级| 最新亚洲一区| 性色av一区二区三区| 欧美精品一区在线| 韩日视频一区| 亚洲欧美激情四射在线日| 欧美福利电影网| 午夜视频一区| 欧美亚洲成人免费| 亚洲精品日韩在线观看| 久久久久久日产精品| 亚洲最新视频在线| 欧美成人精品高清在线播放| 国产免费成人av| 夜夜嗨av色一区二区不卡| 免费短视频成人日韩| 亚洲欧美成人网| 欧美日韩精品是欧美日韩精品| 亚洲国产精品va在线看黑人| 久久久国产一区二区三区| 亚洲天堂av综合网| 欧美日韩在线免费观看| 亚洲成人在线| 久久国产99| 亚洲中无吗在线| 国产精品久久国产精麻豆99网站| 亚洲电影在线免费观看| 午夜久久99| 中国女人久久久| 欧美日韩免费在线观看| 亚洲精品少妇30p| 欧美黄色免费| 欧美成人免费网| 国内外成人免费激情在线视频网站| 亚洲女女女同性video| 一本色道久久综合狠狠躁篇怎么玩 | 久久精品国产清高在天天线 | 久久亚洲国产成人| 国内精品久久久久久久果冻传媒| 午夜精品国产| 一区二区精品| 欧美性一区二区| 亚洲尤物影院| 亚洲一区激情| 国产精品综合不卡av| 欧美亚洲日本国产| 香港成人在线视频| 国产日韩欧美一区| 久久精品官网| 久久久久国色av免费看影院|