你打算采用什么方式进行处理?你的最终要求是什么?是用数据库处理的方式,还是打算用excel的方式,二者各有限制条件数据库方式可以采用ado连接,使用gettablename获得各个sheet的名称,但是当某一列的数据类型不一致时,会丢失部分数据execl ole方式要求你的客户段必需有excel 97以上存在
解决方案 »
- 公司买软件,又不想换工作,不用Delphi 了,散分
- 请问如何将要打印的报表保存到word文档中?
- 谁有验证码的源码?
- dbgrid中加浮动控件的问题.很急很急.在线等...
- 怎样实现动态新建对象实例?
- ★★★各位大侠急救 关于word中生成文本框★★★
- 为什么我程序中的压缩修复数据库功能执行后,出现‘找不到成员’这样的错误?请大虾帮忙。
- 怎樣可以查出自己電腦里是否有 PC Anywhere 之類的,可以實現監控的軟件!
- 如何使图片存贮突破32k限制?
- cxgridview不绑定数据源,添加数据问题.
- Dephi 相比VC有什么优点
- 为何我定义了主键之后用ADOQuery查询出来的数据在DBGrid中排序只能按主键来排,请问有没有方法解决呢?谢谢!
谢谢谢谢谢谢你啊!给我代码好吗?:)
写完我给你贴出来
uses
classes, comctrls, stdctrls, windows, dialogs, controls, sysutils,
db,forms,dbclient,comobj;function OpenExcelAndPrintOut(
excelfilename:string=''; //excel文件名
visible:boolean=False): boolean; //是否可视implementationfunction OpenExcelAndPrintOut(excelfilename:string='';visible:boolean=False): boolean;
var
excelobj, excel, workbook, sheet,sheetTemp,sheetcell: olevariant;
opendialog:tsavedialog;
i,sheetPages:integer;
begin
result := false;
//指定打开打开文件
if excelfilename='' then begin
opendialog:=tsavedialog.create(nil);
opendialog.filter := 'microsoft excel 文件|*.xls';
if opendialog.execute then
excelfilename:=opendialog.FileName
else exit;
end;
//创建excel ole对象,并判断计算机内是否存在excel
try
excelobj := createoleobject('excel.sheet');
excel := excelobj.application;
excel.visible := visible ;
workbook := excel.workbooks.open(excelfilename) ;
except
messagebox(getactivewindow,'无法调用mircorsoft excel! '+chr(13)+chr(10)+
'请检查是否安装了mircorsoft excel。','提示',mb_ok+mb_iconinformation);
exit;
end;
sheetPages :=workbook.sheets.Count;
sheetTemp:=workbook.sheets.add ; //加入一个sheet
//将各个页粘贴到sheetTemp中
for i:=1 to sheetPages do begin
sheet:= workbook.sheets[i];
sheetcell:=sheet.Cells.SpecialCells(11);
if (sheetcell.row<>1) or (sheetcell.Column=1) then begin
sheet.Range(sheet.Cells(1, 1), sheetcell).Copy;
sheetTemp.Cells(sheetcell.Row + 1, 1).PasteSpecial;
end; end;
sheetTemp.select;
sheetTemp.print;
workbook.save;
result:=True;
//其他清除变量语句
//....
//....
end;end................................
匆忙间写的,初试了一下,主要功能具备