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

飛天

快樂的生活......

 

Bcb中的Excel操作類

      最近做一個專案,要求能將Excel表中的數據轉入數據庫,反之將數據庫的內容導入到Excel表中。看了網上寫的關于操作Excel的方法,寫了一個簡單的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:    帶參數的構造函數
// 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);返回值是一個Varaint類型。
     4.設置工作薄n的單元格(i,j)值
        excel->Sheets[n]->SetCell(i,j,value);
      5.獲取或設置工作薄名稱
        excel->Sheets[n]->Name="...";或sheetname=excel->Sheets[n]->Name;
      6.保存和另存為。
       excel->SaveExcel();
       excel->SaveAsExcel("新的文件名");
      7.關閉
       excel->CloseExcel();

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

導航

統計

常用鏈接

留言簿(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>
            亚洲网站在线观看| 久久国产精品毛片| 欧美一区二区私人影院日本| 一本久久a久久精品亚洲| 国产日韩亚洲欧美综合| 国产综合久久久久久| 影音先锋久久资源网| 亚洲国产欧美久久| 亚洲精品一区二区三区不| 亚洲视频图片小说| 欧美在线黄色| 免费看的黄色欧美网站| 亚洲黄一区二区| avtt综合网| 久久精品国产一区二区三| 欧美华人在线视频| 国产精品日韩欧美一区| 原创国产精品91| 亚洲欧美综合精品久久成人| 久久这里只有精品视频首页| 亚洲精品综合精品自拍| 久久se精品一区精品二区| 欧美国产日韩xxxxx| 正在播放亚洲一区| 久久综合给合久久狠狠狠97色69| 欧美精品日韩一区| 国产日产精品一区二区三区四区的观看方式 | 亚洲精品乱码久久久久久蜜桃麻豆| 91久久精品一区| 亚洲女ⅴideoshd黑人| 老司机成人在线视频| 99精品热6080yy久久 | 亚洲七七久久综合桃花剧情介绍| 亚洲一区二区三区精品动漫| 老司机精品视频一区二区三区| 欧美性jizz18性欧美| 亚洲国产视频a| 久久久久国产精品厨房| 日韩小视频在线观看| 久久久久久久一区| 国产日产亚洲精品系列| 亚洲自拍三区| 欧美a级在线| 日韩视频一区二区三区| 狼狼综合久久久久综合网| 国产情侣一区| 亚洲欧美三级在线| 亚洲美女av电影| 欧美激情一区二区三区全黄 | 韩日精品在线| 午夜日本精品| 亚洲一区在线看| 欧美性久久久| 亚洲永久免费观看| 日韩视频一区二区| 欧美日韩国产丝袜另类| 日韩视频在线永久播放| 亚洲国产日韩在线| 免费一级欧美片在线播放| 亚洲第一在线视频| 麻豆精品在线播放| 久久国产天堂福利天堂| 国内久久婷婷综合| 免播放器亚洲一区| 欧美福利精品| 亚洲一区二区在线| 亚洲男人的天堂在线| 国产日韩欧美精品一区| 久久天天躁夜夜躁狠狠躁2022| 毛片av中文字幕一区二区| 欧美精品粉嫩高潮一区二区| 一区二区日本视频| 在线视频亚洲欧美| 国产日韩av一区二区| 久久蜜桃资源一区二区老牛| 久久综合伊人77777| 亚洲精品中文字幕有码专区| 欧美日韩裸体免费视频| 在线精品观看| 亚洲激情女人| 国产精品黄页免费高清在线观看| 性欧美长视频| 久久综合网hezyo| 一区二区三区色| 欧美一区二区三区免费视| 亚洲国产精品嫩草影院| 99国产麻豆精品| 国产一区自拍视频| 亚洲黄色av一区| 国产欧美日本一区二区三区| 欧美成人资源| 国产精品社区| 欧美福利专区| 国产精品一区二区三区观看| 欧美大片91| 国产欧美日韩三级| 亚洲成色最大综合在线| 国产精品―色哟哟| 亚洲国产精品一区二区www在线| 国产精品视频一二三| 亚洲第一中文字幕在线观看| 欧美不卡一区| 午夜在线电影亚洲一区| 欧美肥婆在线| 久久天天综合| 国产精品视频内| 亚洲人在线视频| 在线播放国产一区中文字幕剧情欧美 | 久久久亚洲国产美女国产盗摄| 欧美日本不卡高清| 久久综合激情| 国产噜噜噜噜噜久久久久久久久| 亚洲人成高清| 亚洲国产美女| 久久久久成人网| 久久精品成人欧美大片古装| 国产精品成人va在线观看| 欧美成人69av| 好看的av在线不卡观看| 亚洲综合大片69999| 一区二区三区 在线观看视频| 久久先锋资源| 女人色偷偷aa久久天堂| 国内成人自拍视频| 午夜在线播放视频欧美| 亚洲视频大全| 欧美精品在线一区| 欧美大片免费观看| 樱桃国产成人精品视频| 久久精品国产99| 久久久久se| 亚洲激情在线| 99日韩精品| 日韩网站在线观看| 欧美电影在线观看完整版| 欧美第一黄色网| 亚洲激情图片小说视频| 欧美成年人视频网站| 亚洲一级黄色| 欧美一区二区三区四区夜夜大片| 国产精品ⅴa在线观看h| 一区二区三区精品视频| 亚洲欧美在线观看| 国产精品亚洲综合一区在线观看 | 亚洲午夜在线观看视频在线| 亚洲一区二区四区| 国产欧美日韩不卡| 欧美一区二区三区日韩| 久久精品国语| 在线观看中文字幕亚洲| 免费在线看成人av| 亚洲精品一区在线| 亚洲综合三区| 国产一区二区精品丝袜| 久久性天堂网| 日韩午夜免费| 久久精品亚洲一区二区| 亚洲福利精品| 欧美午夜不卡视频| 欧美专区日韩专区| 亚洲高清av在线| 亚洲专区一二三| 蜜臀a∨国产成人精品| 亚洲男人av电影| 欧美r片在线| 亚洲一区国产视频| 国内精品久久久| 欧美激情1区| 午夜亚洲福利| 亚洲欧洲精品一区二区| 性欧美xxxx大乳国产app| 亚洲国产一区二区三区青草影视| 欧美日韩色综合| 久久精品在线播放| 妖精视频成人观看www| 久久综合电影| 午夜精品久久久久久99热软件| 亚洲福利电影| 国模精品一区二区三区| 欧美日韩精品是欧美日韩精品| 欧美一区二区三区喷汁尤物| 亚洲每日在线| 欧美国产日韩精品免费观看| 欧美一区二区视频97| 亚洲精品一二区| 韩国v欧美v日本v亚洲v| 欧美亚一区二区| 欧美激情视频网站| 久久成人国产精品| 亚洲一二三区精品| 最新国产精品拍自在线播放| 久久久久久一区二区| 亚洲欧美韩国| 一本一本久久| 亚洲理伦电影| 亚洲激情视频网站| 在线观看av不卡| 一区二区三区在线高清| 国产一区二区高清| 国产日韩欧美成人|