?? tsavetoexcel.cpp
字號:
/*********************************************
文件名: TSaveToExcel.cpp
********************************************/
//---------------------------------------------------------------------------
#pragma hdrstop
#include "TSaveToExcel.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
//---------------------------------------------------------------------------
/*************************************************
函數名稱: GetSheetName
簡要描述: 讀取工作表名稱
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::GetSheetName(int item,AnsiString &EVALUE)
{
if (!Opened)
{
return false;
}
Sheet=Sheets.OlePropertyGet("Item",item);
EVALUE=Sheet.OlePropertyGet("Name");
return true;
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: GetSheetCount
簡要描述: 讀取工作表序號
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
int TSaveToExcel::GetSheetCount()
{
if (!Connected)
{
return -1;
}
int i;
i=Sheets.OlePropertyGet("Count");
return i;
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: GetXCount
簡要描述: 獲取行數
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::GetXCount(WideString SHEET_NAME,AnsiString &X)
{
if (!Connected)
{
return false;
}
X = VarToStr(ExcelApp.OlePropertyGet("WorkBooks",1).OlePropertyGet("WorkSheets",SHEET_NAME).OleFunction("Evaluate", "=COUNTIF($1:$1,\"<>\")"));
return true;
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: GetYCount
簡要描述: 獲取列數
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::GetYCount(WideString SHEET_NAME,AnsiString &Y)
{
if (!Connected)
{
return false;
}
Y = VarToStr(ExcelApp.OlePropertyGet("WorkBooks",1).OlePropertyGet("WorkSheets",SHEET_NAME).OleFunction("Evaluate", "=COUNTIF($A:$A,\"<>\")"));
return true;
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: NewFile
簡要描述: 生成一個新的Excel文件
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::NewFile(WideString FILE_NAME)
{
if (!Connected)
{
return false;
}
try
{
ExcelApp.OlePropertyGet("WorkBooks").OleFunction("Add",1);
WorkBooks = ExcelApp.OlePropertyGet("ActiveWorkBook");
Sheets = WorkBooks.OlePropertyGet("ActiveSheet");
WorkBooks.OleFunction("SaveAs",FILE_NAME);
Opened = true;
return true;
}
catch (...)
{
Opened=false;
return false;
}
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: AddSheet
簡要描述: 添加一個新的工作表
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::AddSheet(WideString SHEET_NAME)
{
if (!Opened)
{
return false;
}
try
{
Sheet = Sheets.OleFunction("Add");
Sheet.OlePropertySet("Name",SHEET_NAME);
return true;
}
catch ( ... )
{
return false;
}
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: DeleteSheet
簡要描述: 刪除一個已有的工作表
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::DeleteSheet(WideString SHEET_NAME)
{
if (!Opened)
{
return false;
}
try
{
Sheet = Sheets.OlePropertyGet("Item",SHEET_NAME);
Sheet.OleFunction("Delete");
return true;
}
catch ( ... )
{
return false;
}
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: SetVisible
簡要描述: 設置Excel的可視性
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::SetVisible(bool VISIBLE)
{
if (!Connected)
{
return false;
}
try
{
ExcelApp.OlePropertySet("Visible",VISIBLE);
return true;
}
catch(...)
{
return false;
}
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: Quit
簡要描述: 退出Excel
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::Quit()
{
if (!Opened)
{
return false;
}
if (!Connected)
{
return false;
}
ExcelApp.PG("ActiveWorkBook").PR("Close");
WorkBooks= Unassigned;
Sheets= Unassigned;
Sheet= Unassigned;
WorkBook= Unassigned;
ExcelApp.OleFunction("Quit");
ExcelApp = Unassigned;
Opened=false; ///////////////?????
Connected=false;
//ExcelApp.Exec(Procedure("Quit"));
return true;
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: Save
簡要描述: 保存工作簿
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::Save()
{
if (Opened)
{
WorkBook.OleFunction("Save");
return true;
}
return false;
}
//---------------------------------------------------------------------------
/*************************************************
函數名稱: SaveToFile
簡要描述: 保存Excel文件
輸入: <NO>
輸出: <NO>
日 期 修改人 修改內容
2007-07-16 張韜 create
*************************************************/
bool TSaveToExcel::SaveToFile(WideString FILE_NAME) //
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -