系统运维
单元excel小组
连接
类型
TExcelFunction=procedure(Ashe et:ol variant);//声明导入函数
{访问单元格:工作表。单元格[行,列]
转为string:vartostr(sheet。单元格[行,列])
转为datetime:vartodatetime(工作表。单元格[行,列])
}
//afilename为数据源文件名,func为执行导入的函数
过程RunExcelApplication(afilename:string;func:TExcelFunction);
履行
使用控件、窗体、ComObj、windows、sysutils .
过程RunExcelApplication(afilename:string;
func:TExcelFunction);
定义变量
ExcelApp:Variant;
旧光标:t光标;
开始
旧光标:=屏幕。光标;
//保存鼠标指针状态
屏幕光标:=Cr沙漏;
尝试
CoInitializeEx(nil,0);
Excel应用程序:=创建ole对象(\ \ \ ' Excel .应用程序\ \ \ ');
ExcelApp .可见:=真;
尝试
ExcelApp .练习册。open(afilename);
//打开源文件
ExcelApp .工作表[1]。激活;
excel应用程序。可见:=假;//隐藏擅长窗体
如果赋值(func),则//执行导入函数
func(ExcelApp .活性片);//传递表给函数进行导入
最后
ExcelApp .工作簿。关闭;
ExcelApp .退出;
屏幕。游标:=旧光标
结束;
除了例外吗
开始
MessageBox(GetActiveWindow,pchar(e.message),\\\ '提示\\\ 'MB _ OK MB _ icon信息);
屏幕。游标:=旧光标
退出;
结束;
结束;
结束;
结束。
单位frmBuyingItemsP
连接
使用
窗口、消息、系统、变量、类、图形、控件、表单,
对话框,嵌入式FormU,dxSkinsCore,dxSkinOffice2010Black,
dxSkinOffice2010Blue,dxSkinOffice2010Silver,dxSkinsDefaultPainters,
dxSkinsdxBarPainter,dxBar,cxClasses,cxGraphics,cxControls,cxLookAndFeels,
cxLookAndFeelPainters,cxStyles,dxSkinscxPCPainter,cxCustomData,cxFilter,
cxData,cxDataStorage,cxEdit,DB,cxDBData,cxGridLevel,cxGridCustomView,
cxGridCustomTableView,cxGridTableView,cxgridbtableview,cxGrid,ExtCtrls,
RzPanel,StdCtrls,cxCheckBox,DBClient,ADODB,ComCtrls
类型
TCheckBoxClickEvent=对象的过程(发件人:向对象);
类型
TCheckBoxClick=class(到对象)
私人的
fon checkbox click:TCheckBoxClickEvent;//定义一个内部事件,私有里的只能在类内部调用
公众的
property View _ upcheckboxcolumn properties change:tcheckbox click事件read fon checkbox click write fon checkbox click;//定义一个外部的事件
结束;
类型
TfrmBuyingItems=class(TEmbeddableForm)
dxbar管理器1:tdxbar管理器;
dxbar管理器1 bar 1:tdx bar;
酒吧搜索:TdxBarButton
barexport:TdxBarButton;
bar导入:TdxBarButton
baradd:TdxBarButton;
bar modify:TdxBarButton;
bar close:TdxBarButton;
rzgroupbox 1:TRzGroupBox;
CX项目:TcxGridDBTableView
cxgrid 1一级:TcxGridLevel
cxgrid 1:tcx网格;
bar save:TdxBarButton;
ed tno:TLabeledEdit;
cxitemscolumn 1:tcxgridbcolumn;
cxitemscolumn 2:tcxgridbcolumn;
cxitemscolumn 3:tcxgridbcolumn;
cxitemscolumn 4:tcxgridbcolumn;
cxitemscolumn 5:tcxgridbcolumn;
cxitemscolumn 6:tcxgridbcolumn;
cxitemscolumn 7:tcxgridbcolumn;
cxitemscolumn 8:tcxgridbcolumn;
cxitemscolumn 9:tcxgridbcolumn;
cxitemscolumn 10:tcxgridbcolumn;
cxitemscolumn 11:tcxgridbcolumn;
cxitemscolumn 12:tcxgridbcolumn;
cxitemscolumn 13:tcxgridbcolumn;
cxitemscolumn 14:tcxgridbcolumn;
cxitemscolumn 15:tcxgridbcolumn;
cxitemscolumn 16:tcxgridbcolumn;
cxitemscolumn 17:tcxgridbcolumn;
cxitemscolumn 18:tcxgridbcolumn;
cxitemscolumn 19:tcxgridbcolumn;
cxitemscolumn 20:tcxgridbcolumn;
cxitemscolumn 21:tcxgridbcolumn;
cxitemscolumn 22:tcxgridbcolumn;
cxitemscolumn 23:tcxgridbcolumn;
cxitemscolumn 24:tcxgridbcolumn;
cxitemscolumn 25:tcxgridbcolumn;
cxitemscolumn 26:tcxgridbcolumn;
cxitemscolumn 27:tcxgridbcolumn;
cxitemscolumn 28:tcxgridbcolumn;
cxitemscolumn 29:tcxgridbcolumn;
cxitemscolumn 30:tcxgridbcolumn;
cxitemscolumn 31:tcxgridbcolumn;
cxitemscolumn 32:tcxgridbcolumn;
cxitemscolumn 33:tcxgridbcolumn;
cxitemscolumn 34:tcxgridbcolumn;
EDT名称:TLabeledEdit
cxitemscolumn 35:tcxgridbcolumn;
客户端数据集1:TClientDataSet;
ado query 1:tado query;
打开对话框1:TOpenDialog;
bar导入2:TdxBarButton;
richedit 1:trich edit;
程序栏关闭单击(发送方:to object);
程序表单显示(发送方:to object);
过程栏搜索单击(发送方:to object);
过程表单创建(发送方:至对象);
过程barimportClick(发送方:to object);
过程工具栏点击(发送方:to object);
私人的
{私人声明}
公众的
{公开声明}
过程view _ upcheckboxcolumnpropertisechange(Sender:to object);
结束;
定义变量
frmBuyingItems:TfrmBuyingItems;
履行
{$R * .dfm}
使用dmbuyingitemsP、ExcelProUnit、dbmoduleP、Comobj、WordXP
定义变量
sl:tStrings;
pubsql:string;
过程GetFromExcel(Ashe et:ol variant);
定义变量
斯、rs:字符串;
行:整数;
no,item_no,item_no_old,choice_name,name,name_old,buying_price,face_price,add_price,
本地运输费,价格,国内运输费,服务费,
服务费,利润,中文名称,英文名称,
重量,体积,美国价格,真实美国价格,协调制度代码,
上传日,关闭日,剩余日,购买名称,购买网址,
状态,韩国名,中文名,
通关标识标识,运输方式标识,关税,add _ express _ fee:string;
adodata:tado查询;
id:字符串;
clearance_sign,transport _ way:string;
开始
行:=1;
s:=trim(vartostr(asheet。cells[row,1]);
pubsql:=\ \ \ ' \ \ \ '
而s \\\'\\\ '会
开始
如果行490然后
开始
否:=trim(vartostr(asheet。cells[row,1]);
item _ no:=trim(vartostr(asheet。cells[row,2]);
item _ no:=dmbuyingitems。getmaxbuyingitems _ Id
item _ no _ old:=trim(vartostr(asheet。cells[row,2]);
choice _ name:=trim(vartostr(asheet。单元格[行,3]);
name:=trim(vartostr(asheet。cells[row,4]));
name:=choice _ name \ \ \ ' \ \ \ ' item _ no;
name _ old:=trim(vartostr(asheet。单元格[第4行]);
buying _ price:=trim(vartostr(asheet。单元格[第5行]);
if (buying_price=\\\'\\\ ')或(buying_price=Null)然后
buying _ price:=\ \ \ ' 0 \ \ \ '
face _ price:=trim(vartostr(asheet。单元格[第6行]);
如果(face_price=\\\'\\\ ')或(face_price=Null)则
face _ price:=\ \ \ ' 0 \ \ \ '
add _ price:=trim(vartostr(asheet。单元格[第7行]);
if (add_price=\\\'\\\ ')或(add_price=Null)然后
add _ price:=\ \ \ ' 0 \ \ \ '
native _ trans _ fee:=trim(vartostr(asheet。单元格[第8行]);
if (native_trans_fee=\\\'\\\ ')或(native_trans_fee=Null)则
native _ trans _ fee:=\ \ \ ' 0 \ \ \ '
价格:=trim(vartostr(asheet。单元格[第9行]);
如果(price=\\\'\\\ ')或(价格=空)则
price:=\ \ \ ' 0 \ \ \ '
national _ tran _ fee:=trim(vartostr(asheet。单元格[第10行]);
如果(national_tran_fee=\\\'\\\ ')或(national_tran_fee=Null)则
national _ tran _ fee:=\ \ \ ' 0 \ \ \ '
service _ charge _ rate:=trim(vartostr(asheet。单元格[第11行]);
如果(服务收费费率=\\\'\\\ ')或(服务收费费率=空值),则
service _ charge _ rate:=\ \ \ ' 0 \ \ \ '
service _ charge _ fee:=trim(vartostr(asheet。单元格[第12行]);
如果(服务费用=\\\'\\\ ')或(服务费用=空)则
service _ charge _ fee:=\ \ \ ' 0 \ \ \ '
利润:=trim(vartostr(asheet。单元格[第13行]);
如果(profit=\\\'\\\ ')或(利润=空)则
利润:=\ \ \ ' 0 \ \ \ '
Chinese _ kind _ name:=trim(vartostr(asheet。单元格[第14行]);
English _ name:=trim(vartostr(asheet。单元格[第15行]);
重量:=trim(vartostr(asheet。单元格[第16行]);
如果(weight=\\\'\\\ ')或(重量=零)则
weight:=\ \ \ ' 0 \ \ \ '
音量:=trim(vartostr(asheet。单元格[第17行]);
如果(volume=\\\'\\\ ')或(体积=零)则
卷:=\ \ \ ' 0 \ \ \ '
American _ price:=trim(vartostr(asheet。单元格[第18行]);
如果(american_price=\\\'\\\ ')或(american_price=Null)则
American _ price:=\ \ \ ' 0 \ \ \ '
real _ American _ price:=trim(vartostr(asheet。单元格[第19行]);
如果(real _ american _ price=\ \ \ ' \ ')或(真实美国价格=Null)则
real _ American _ price:=\ \ \ ' 0 \ \ \ '
hs _ code:=trim(vartostr(asheet。单元格[第20行]);
upload _ day:=trim(vartostr(asheet。单元格[第21行]);
down shelf _ day:=trim(vartostr(asheet。单元格[第22行]);
剩余天数:=trim(vartostr(asheet。单元格[第23行]));
if (leftdays=\\\'\\\ ')或(剩余天数=空)然后
剩余天数:=\ \ \ ' 0 \ \ \ '
buying _ name:=trim(vartostr(asheet。单元格[第24行]);
buying _ URL:=trim(vartostr(asheet。单元格[第25行]);
状态:=trim(vartostr(asheet。单元格[第26行]));
Korea _ name:=trim(vartostr(asheet。单元格[第27行]);
Chinese _ name:=trim(vartostr(asheet。单元格[第28行]);
transport _ way:=trim(vartostr(asheet。单元格[第29行]);
clearance _ sign:=trim(vartostr(asheet。单元格[第30行]);
如果(clearance_sign=\\\'\\\ ')或(clearance_sign=null)则
开始
申请MessageBox(\\\ '请输入通关符号\\\'\\\'提示\\\ 'MB _ icon警告);
中止;
结束;
if (transport_way=\\\'\\\ ')或(transport_way=null)则
开始
申请MessageBox(\\\ '请输入货运方式\\\'\\\'提示\\\ 'MB _ icon警告);
中止;
结束;
clearance _ sign _ id _ id:=dmbuyingitems。get _ clearance _ sign _ id(clearance _ sign);
transport _ way _ id _ id:=dmbuyingitems。get _ transport _ way _ id(transport _ way);
clearance _ sign _ id _ id:=\ \ \ ' 1 \ \ \ '
transport _ way _ id _ id:=\ \ \ ' 1 \ \ \ '
关税:=trim(vartostr(asheet。单元格[第31行]);
如果(关税=\\\'\\\ ')或(关税=空)则
关税:=\ \ \ ' 0 \ \ \ '
add _ express _ fee:=trim(vartostr(asheet。单元格[第32行]);
如果(添加快速费用=\\\'\\\ ')或(添加快速费用=空)则
add _ express _ fee:=\ \ \ ' 0 \ \ \ '
'插入到erp_buyingitem(no,item_no,item_no_old,choice_name,name,name_old,buying_price,face_price,add_price,\ '
\\\' native_trans_fee,price,national _ tran _ fee,service_charge_rate,\\\ '
\\\ '服务费用,利润,中文名称,英文名称,\\ '
\\\ '重量,体积,美国价格,真实美国价格,hs代码,\\ '
\\\' upload_day,downshelf_day,leftdays,buying_name,buying_url,\ '
\\\ '状态,韩国名,中国名,\\\ '
\\\' clearance_sign_id_id,transport_way_id_id,tariff,add _ express _ fee)\ \ \ '
pubsql:=pubsql \ \ \ ' select \ \ \ ' quoted str(no)\ \ \ '\ \ \ ' quoted str(item _ no)\ \ \ '\ \ \ ' quoted str(item _ no _ old)\ \ \ '\\\' QuotedStr(choice_name)
\\\ '\ \ \ ' quoted str(name)\ \ \ '\ \ \ ' quoted str(name _ old)\ \ \ '\ \ \ ' quoted str(buying _ price)\ \ \ '\ \ \ ' quoted str(face _ price)\ \ \ '\\\' QuotedStr(add_price)
\\\ '\ \ \ ' quoted str(native _ trans _ fee)\ \ \ '\ \ \ ' quoted str(price)\ \ \ '\ \ \ ' quoted str(national _ trans _ fee)\ \ \ '\ \ \ ' quoted str(service _ charge _ rate)
\\\ '\ \ \ ' quoted str(service _ charge _ fee)\ \ \ '\\\' QuotedStr(profit) \\\ '\ \ \ ' quoted str(Chinese _ kind _ name)\ \ \ '\\\' QuotedStr(english_name)
\\\ '\\\' QuotedStr(重量)\ \ \ \ '\\\' QuotedStr(体积)\ \ \ \ '\\\' QuotedStr(美国价格)\ \ \ \ '\\\' QuotedStr(真实美国价格)
\\\ '\\\' QuotedStr(hs_code) \\\ '\\\' QuotedStr(upload_day) \\\ '\ \ \ ' quoted str(down shelf _ day)\ \ \ '\\\' QuotedStr(leftdays)
\\\ '\\\' QuotedStr(buying_name) \\\ '\\\' QuotedStr(buying_url) \\\ '\\\' QuotedStr(status) \\\ '\\\' QuotedStr(korea_name)
\ '\\\' QuotedStr(中文名称)\\\ \ '\\\ '引用的str(clearance _ sign _ id _ id)\ \ \ '\ \ \ '引用的str(transport _ way _ id _ id)\ \ \ '\ \ \ '
引用的Str(关税)\ \ \ \ '\ \ \ '引用str(add _ express _ fee);
结束;
公司(世界其他地区);
sl .添加(RS);
s:=trim(vartostr(asheet。cells[row,3]));
结束;
结束;
过程TfrmBuyingItems.barcloseClick(发送方:to object);
开始
关闭;
结束;
过程TfrmBuyingItems.barimportClick(发送方:to object);
开始
OpenDialog1 .标题:=\\\ '请选择正确的擅长文件\\\'
OpenDialog1 .筛选器:=\\\'Excel(* .xls)|* .xls \ \ \ '
if OpenDialog1 .然后执行
开始
//RunExcelApplication(ExtractFilePath(application .ExeName) \\\'success.xls\\\ 'get from excel);
RunExcelApplication(打开对话框1 .文件名,get from excel);
富裕1 .text:=pubsql;
尝试
dbmodule .SHSCon。贝京特内斯
dmbuyingitems。exesql(pubsql);
dbmodule .SHSCon。委托事务
申请MessageBox(\\\ '导入成功!\\\'\\\'提示\\\ 'MB _ OK);
酒吧搜索点击(自己);
除.之外
dbmodule .SHSCon。回滚事务
申请MessageBox(\\\ '导入失败!\\\'\\\'提示\\\ 'MB _ OK);
结束;
//memo1 .台词。add strings(sl);
结束;
{
RunExcelApplication(ExtractFilePath(application .ExeName) \\\'success.xlsx\\\ 'get from excel);
记忆1 .台词。add strings(sl);
}
结束;
过程TfrmBuyingItems.barsaveClick(发送方:to object);
var excelx,excely:string;
ExcelApp,工作簿:oleVariant
ExcelRowCount,我:整数;
开始
OpenDialog1 .标题:=\\\ '请选择正确的擅长文件\\\'
OpenDialog1 .筛选器:=\\\'Excel(* .xls)|* .xls \ \ \ '
if OpenDialog1 .然后执行
开始
尝试
Excel应用程序:=创建ole对象(\ \ \ ' Excel .应用程序\ \ \ ');
工作簿:=CreateOleObject(\\\'Excel .工作表\ \ \ ');
工作簿:=ExcelApp .练习册。打开(opendialog1 .文件名);//使用打开对话框对话框指定
//excel档路径
ExcelApp .可见:=假;
ExcelRowCount :=工作簿。工作表[1].使用范围。行。数数;
对于我:=1的excelrowcount 1 do
开始
excelx :=excelapp .单元格[我,1].价值;
excely :=excelapp .单元格[i,2].价值;
if ((excelapp .单元格[我,1].Value=\\\'\\\ ')和(ExcelApp .单元格[i,2].Value=\\\'\\\ '))然后
//指定擅长档的第我行,第1,2(看情况而定)行如果为空就退出,这样的设定,最好是你的
//档案力这两行//对应数据库中不能为空的数据
出口
其他
用adobe query 1做
开始
关闭;
sql.clear
SQL。add(\ \ \ ' insert into test(name,address) values(:name,address)\ \ \ \ ');
参数。param byname(\ \ \ ' name \ \ \ ').值:=excelx//excel档的第一列插入到试验表的名字栏位;
参数。param byname(\ \ \ '地址\ \ \ ').值:=excely//excel档的第二列插入到试验表的地址栏位;
execsql
结束;
结束;
最后
工作簿。关闭;
ExcelApp .退出;
ExcelApp :=未赋值;
工作簿:=未分配;
结束;
结束;
结束;
过程TfrmBuyingItems.barsearchClick(发送方:to object);
定义变量
item_no,name:string;
开始
dmbuyingitems。getbuyingitems(item _ no,name);
cxitems .数据控制器。数据来源:=dmbuyingitems。ds项目;
结束;
过程TfrmBuyingItems .表单创建(发件人:to object);
开始
sl :=TStringList .创建;
结束;
过程TfrmBuyingItems .表单显示(发件人:to object);
定义变量
我:整数;
开始
for i :=0 to self .组件数量1个
开始
如果自我。那么组件[i]是TLabeledEdit
开始
和自己在一起。组件[我]与TLabeledEdit一样
开始
斜边:=[beBottom];
斜面内部:=bv none
斜面种类:=bk软;
斜面外:=bv凸起;
边框样式:=bs无;
父色:=True
结束;
结束;
结束;
酒吧搜索点击(自己);
客户端数据集1 .FieldDefs。清楚的
对于i:=0到dmbuyingitems。ado项目。字段计数-1 do
开始
使用客户端数据集1 .FieldDefs。AddFieldDef do
开始
name:=dmbuyingitems。ado项目。字段[I].显示名称;
如果dmbuyingitems。ado项目。字段。字段[I].那么DataType=ftAutoInc
数据类型:=ftInteger
否则如果dmbuyingitems。ado项目。字段。字段[I].那么DataType=ftWideString
数据类型:=ftString
其他
数据类型:=dmbuyingitems。ado项目。字段。字段[I].数据类型;//取原数据字段数据类型
size:=dmbuyingitems。ado项目。字段。字段[I].尺寸;
结束;
结束;
客户端数据集1 .创建数据集
dmbuyingitems。ds项目。数据集:=dmbuyingitems。ado项目;
cxitems .数据控制器。数据来源:=dmbuyingitems。ds项目;
//cxyzjl .清除项目
//cxyzjl .创建列;//建立一个没绑定的列
cxitems .列[0]。标题:=\\\ '选择\\\'
//cxitems .数据控制器。CreateAllItems//建立所有绑定的列
//dw_checker1 .列[0]。数据绑定。字段名:=\ \ \ ' flag \ \ \
cxitems .列[0]。宽度:=45;
//下列5行语句是为了让没绑定列成为复选框:
cxitems .数据控制器。关键字段名称:=\ \ \ ' id \ \ \
cxitems .数据控制器。主关键字字段名称:=\ \ \ ' id \ \ \
cxitems .数据控制器。详细信息关键字字段名称:=\ \ \ ' id \ \ \
cxitems .数据控制器。数据模式控制器。智能刷新:=true
cxitems .列[0]。数据绑定。值类型:=\ \ \ '布尔\ \ \ '
cxitems .列[0]。properties类:=TcxCheckBoxProperties
(cxitems .列[0]。属性作为TcxCheckBoxProperties).null style:=ns sun checked;
//由于检验盒列是动态列,所以需要给其关联一个OnChange的事件:
(cxitems .列[0]。属性作为TcxCheckBoxProperties).OnChange:=View _ upcheckboxcolumnpropertisechange;//关联事件
cxitems .选项视图。指标:=真;
cxitems .选项视图。NoDataToDisplayInfoText:=\ \ \ ' \ \ \ '
结束;
过程TfrmBuyingItems .view _ upcheckboxcolumnpropertisechange(
发件人:to object);
开始
////////////////////////////////////////////////////
如果cxitems .聚焦=那么正确
如果(发送方为tcx复选框).检查过了
开始
cxitems .查看数据。行[cxitems .控制器。FocusedRowIndex].values[0]:=true;
结束
其他
开始
cxitems .查看数据。行[cxitems .控制器。FocusedRowIndex].values[0]:=false;
结束;
结束;
结束。
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理商官网:www.chenqinet.cn