📄 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 + -