//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "main.h"
#include "login.h"
#include "employee.h"
#include "employeeseek.h"
#include "power.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N4Click(TObject *Sender)
{
Close(); //此语句由键盘输入
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormShow(TObject *Sender)
{
loginok=false;
Fm_login->ShowModal(); //调用登录窗体
if(!loginok)
Close();
ShowTree(TreeView1);
TreeView1->Items->Item[0]->Expanded=true;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N6Click(TObject *Sender)
{
if(!Fm_employee)
Fm_employee = new TFm_employee(Application);
Fm_employee->Show(); //调用员工管理窗体
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N7Click(TObject *Sender)
{
if(!Fm_employeeseek)
Fm_employeeseek = new TFm_employeeseek(Application);
Fm_employeeseek->Show(); //调用查询窗体
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DBGridToExcel(TDBGrid *dbg, String strXlsFile,AnsiString Title)
{
if(!dbg->DataSource->DataSet->Active) // 数据集没有打开就返回
return;
Variant vExcelApp, vSheet, vRange, vInter;
AnsiString strRange;
AnsiString ff[52]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O",
"P","Q","R","S","T","U","V","W","X","Y","Z","AA","AB","AC","AD","AE","AF","AG",
"AH","AI","AJ","AK","AL","AM","AN","AO","AP","AQ","AR","AS","AT","AU","AV","AW",
"AX","AY","AZ"};
try
{
vExcelApp = Variant::CreateObject("Excel.Application");
}
catch(...)
{
Application->MessageBox(" 启动 Excel 出错, 可能是没有安装Excel", "信息", MB_ICONERROR);
return;
}
// 隐藏Excel 界面
vExcelApp.OlePropertySet("Visible", false);
// 新建一个工作表
vExcelApp.OlePropertyGet("Workbooks").OleFunction("Add", 1);
// 操作这个工作表
vSheet = vExcelApp.OlePropertyGet("ActiveWorkbook").OlePropertyGet("Sheets",1);
// 设置Excel 文档的字体
vSheet.OleProcedure("Select");
vSheet.OlePropertyGet("Cells").OleProcedure("Select");
vExcelApp.OlePropertyGet("Selection").OlePropertyGet("Font").OlePropertySet("Size", dbg->Font->Size);
vExcelApp.OlePropertyGet("Selection").OlePropertyGet("Font").OlePropertySet("Name", dbg->Font->Name.c_str());
vExcelApp.OlePropertyGet("Selection").OlePropertyGet("Font").OlePropertySet("FontStyle", "常规");
vSheet.OlePropertyGet("Cells", 1, 1).OleProcedure("Select");
int nRowCount,nColCount;
nRowCount = dbg->DataSource->DataSet->RecordCount;
nColCount = dbg->Columns->Count;
strRange = "A1:"+ff[nColCount-1]+"1";
vSheet.OlePropertyGet("Range",strRange.c_str()).OleProcedure("Merge");
vSheet.OlePropertyGet("Cells",1,1).OlePropertySet("HorizontalAlignment",3);
vSheet.OlePropertyGet("Rows",1).OlePropertyGet("Font").OlePropertySet("Size",16);
vSheet.OlePropertyGet("Rows",1).OlePropertyGet("Font").OlePropertySet("Name","宋体");
vSheet.OlePropertyGet("Rows",1).OlePropertyGet("Font").OlePropertySet("Bold",true);
vExcelApp.OlePropertyGet("Rows", 1).OlePropertySet("RowHeight",50);
vSheet.OlePropertyGet("Cells", 1,1).OlePropertySet("Value",Title.c_str());
//设置表格线
strRange = "A2:"+ff[nColCount-1]+"2";
vRange=vSheet.OlePropertyGet("Range",strRange.c_str());
vRange.OlePropertyGet("Borders",1).OlePropertySet("Linestyle",1);
vRange.OlePropertyGet("Borders",2).OlePropertySet("Linestyle",1);
vRange.OlePropertyGet("Borders",3).OlePropertySet("Linestyle",1);
vRange.OlePropertyGet("Borders",4).OlePropertySet("Linestyle",1);
//写入标题
for(int i=1; i<=nColCount; i++)
{
int nColWidth = dbg->Columns->Items[i-1]->Width;
vExcelApp.OlePropertyGet("Columns",i).OlePropertySet("ColumnWidth", nColWidth / 8);
vExcelApp.OlePropertyGet("Rows", 2).OlePropertySet("RowHeight",16);
vSheet.OlePropertyGet("Cells", 2,i).OlePropertySet("HorizontalAlignment",3);
// 设置列名单元格的背景色
vInter = vSheet.OlePropertyGet("Cells", 2,i).OlePropertyGet("Interior");
vInter.OlePropertySet("ColorIndex", 15); // 灰色
vInter.OlePropertySet("Pattern", 1); // xlSolid
vInter.OlePropertySet("PatternColorIndex", -4105); //xlAutomatic
vSheet.OlePropertyGet("Cells", 2,i).OlePropertySet("Value",dbg->Columns->Items[i-1]->Title->Caption.c_str());
}
//将DBGrid 中的数据写入Excel 表格
dbg->DataSource->DataSet->First();
for(int i=1; i<=nRowCount; i++)
{
vExcelApp.OlePropertyGet("Rows", i + 2).OlePropertySet("RowHeight", 16);
//设置表格线
strRange="A"+IntToStr(i+2)+":"+ff[nColCount-1]+IntToStr(i+2);
vRange=vSheet.OlePropertyGet("Range",strRange.c_str());
vRange.OlePropertyGet("Borders",1).OlePropertySet("Linestyle",1);
vRange.OlePropertyGet("Borders",2).OlePropertySet("Linestyle",1);
vRange.OlePropertyGet("Borders",3).OlePropertySet("Linestyle",1);
vRange.OlePropertyGet("Borders",4).OlePropertySet("Linestyle",1);
for(int j=0;j<nColCount;j++)
{
strRange=ff[j]+IntToStr(i+2)+":"+ff[j]+IntToStr(i+2);
vRange=vSheet.OlePropertyGet("Range",strRange.c_str());
if(dbg->Columns->Items[j]->Alignment==taLeftJustify)
{
vRange.OlePropertySet("NumberFormatLocal","@");
vSheet.OlePropertyGet("Cells", i + 2,j+1).OlePropertySet("HorizontalAlignment",2); //居左
}
else if(dbg->Columns->Items[j]->Alignment==taCenter)
{
vRange.OlePropertySet("NumberFormatLocal","@");
vSheet.OlePropertyGet("Cells", i + 2,j+1).OlePropertySet("HorizontalAlignment",3); //居中
}
else
{
if(dbg->DataSource->DataSet->Fields->Fields[j]->DisplayLabel=="0.00")
vRange.OlePropertySet("NumberFormatLocal","0.00");
else
vRange.OlePropertySet("NumberFormatLocal","G/通用格式");
vSheet.OlePropertyGet("Cells", i + 2,j+1).OlePropertySet("HorizontalAlignment",4); //居右
}
vSheet.OlePropertyGet("Cells", i + 2,j+1).OlePropertySet("Value",dbg->DataSource->DataSet->FieldByName(dbg->Columns->Items[j]->FieldName)->AsString.c_str());
}
dbg->DataSource->DataSet->Next();
}
// 保存Excel 文档并退出
vExcelApp.OlePropertyGet("ActiveWorkbook").OleFunction("SaveAs",
strXlsFile.c_str());
vExcelApp.OleFunction("Quit");
vSheet = Unassigned;
vExcelApp = Unassigned;
vRange = Unassigned;
vInter = Unassigned;
// 工作结束
Application->MessageBox(" 数据导出结束! ", " 信息",
MB_ICONINFORMATION);
}
//-----------------------------------------
没有合适的资源?快使用搜索试试~ 我知道了~
EmployeeMIS.zip
共77个文件
bmp:15个
obj:7个
~cpp:7个
需积分: 5 0 下载量 37 浏览量
2020-06-04
08:46:29
上传
评论 1
收藏 1.87MB ZIP 举报
温馨提示
基于c++ builder 和SQL server员工信息管理系统,具有登录验证,员工信息的增删改查,员工信息的查询及报表打印预览,具有群组的权限管理设置。
资源推荐
资源详情
资源评论
收起资源包目录
EmployeeMIS.zip (77个子文件)
employee.~h 3KB
main.cpp 11KB
login.h 1KB
main.h 2KB
login.~dfm 34KB
employee.~cpp 10KB
login.~h 1KB
FILENEW.BMP 374B
PICTURE.BMP 376B
power.obj 540KB
employeerep.~h 2KB
employee.cpp 10KB
employee.dfm 18KB
employeerep.~dfm 29KB
KEY.BMP 376B
FLOPPY.BMP 376B
power.ddp 51B
BOOKSHUT.BMP 376B
EXPORT.BMP 374B
main.~ddp 144B
login.~cpp 2KB
employeerep.dfm 29KB
employeeseek.obj 702KB
login.~ddp 51B
employeeseek.cpp 9KB
power.h 2KB
main.ddp 144B
employeerep.obj 316KB
main.~dfm 32KB
xg.bmp 1KB
employeeseek.~h 3KB
UNDO.BMP 374B
QUERY.BMP 374B
main.~h 2KB
employeerep.h 2KB
power.~cpp 6KB
INSERT.BMP 374B
login.ddp 51B
employeeseek.~cpp 9KB
employeeseek.dfm 16KB
EmployeeMIS.bpr 4KB
EmployeeMIS.tds 3MB
employeeseek.~ddp 51B
power.~h 2KB
employeeseek.ddp 51B
main.obj 763KB
power.~ddp 51B
EmployeeMIS.~bpr 5KB
EmployeeMIS.exe 449KB
login.dfm 5KB
EmployeeMIS.res 876B
main.dfm 32KB
employeerep.~ddp 51B
employeerep.cpp 757B
WRITE.BMP 376B
employeerep.~cpp 757B
employee.obj 522KB
employeeseek.h 3KB
employeeseek.~dfm 16KB
power.dfm 3KB
login.obj 547KB
EmployeeMIS.~cpp 1KB
EmployeeMIS.cpp 1KB
employeerep.ddp 51B
employee.~dfm 18KB
ARROW1U.BMP 376B
employee.h 3KB
employee.~ddp 51B
main.~cpp 11KB
iamge.bmp 13KB
power.cpp 6KB
ok.bmp 2KB
login.cpp 2KB
PRINTER.BMP 376B
employee.ddp 51B
power.~dfm 7KB
EmployeeMIS.obj 17KB
共 77 条
- 1
资源评论
aspirant-complete
- 粉丝: 39
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功