delphi 把数据导入Excel中,高手伸伸手1.设列宽语句:ExcelWorksheetDN.Columns[1].ColumnsWidth:= 8.5;
时出错:
[Error] DataNetCTangImpl.pas(2453): Class does not have a default property。
2.单元格怎么 居中,
3.怎么实现对齐方式为 自动分行?
4.合并单元格。
时出错:
[Error] DataNetCTangImpl.pas(2453): Class does not have a default property。
2.单元格怎么 居中,
3.怎么实现对齐方式为 自动分行?
4.合并单元格。
解决方案 »
- 高手進,解決邏輯問題!!!!!!!
- 怎样判断一个数组是一维数组还是二维数组还是多维数组???
- 关于程序最小化的郁闷问题(估计没人遇到过), 问题一句话说不完, 进来看看吧...谢谢
- 基于Borland Delphi 开发有新意、有品质的共享软件产品,欢迎有识之士,共同创业!QQ群组:13125154
- 如何做一个平行显示两行文字,并且可以点击的文本输入控件?求思路
- NPMS物业管理及操作系统,是程序员尝试跨界的开始。
- 怎么能在DELPHI中程序实现屏蔽,包括任务栏(就是按复位键时出现的程序列表上)
- 一个简单的删除目录的问题,请大虾进来(分数不少)?
- 关于屏幕监控的闪烁问题
- 会者不难--关于按指定格式读写二进制文件中的指定位置
- 请教各位软件从业者,一个高水平DELPHI编码人员待遇如何?公司是如何判断一个编码人员水平高低的?
- 在oracle8i中的sql plus中可以执行insert,但在程序中就出错!
2、xlapp.Range("E1").Select
xlapp.Selection.HorizontalAlignment := xlCenter
3、 xlapp.Range("D5").Select
xlapp.Selection.HorizontalAlignment = xlRight
xlapp.Selection.VerticalAlignment = xlCenter
xlapp.Selection.WrapText = True //自动换行
4、xlapp.Range("E8:E9").Select;
xlapp.Selection.MergeCells = True;
对Excel 的操作有什么什么资料参考的,比如函数库什么的?
以上是当前单元格居中。左对齐是3,右是4
4.合并单元格。
还没解决,大家帮帮忙啊
ftp://202.117.210.28/file/qexportfull.zip
全面控制 Excel
首先创建 Excel 对象,使用ComObj:
var ExcelID: Variant;
ExcelID := CreateOleObject( 'Excel.Application' );
1) 显示当前窗口:
ExcelID.Visible := True;
2) 更改 Excel 标题栏:
ExcelID.Caption := '应用程序调用 Microsoft Excel';
3) 添加新工作簿:
ExcelID.WorkBooks.Add;
4) 打开已存在的工作簿:
ExcelID.WorkBooks.Open( 'C:\Excel\Demo.xls' );
5) 设置第2个工作表为活动工作表:
ExcelID.WorkSheets[2].Activate;
或 ExcelID.WorkSheets[ 'Sheet2' ].Activate;
6) 给单元格赋值:
ExcelID.Cells[1,4].Value := '第一行第四列';
7) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelID.ActiveSheet.Columns[1].ColumnsWidth := 5;
8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
ExcelID.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分页符:
ExcelID.WorkSheets[1].Rows[8].PageBreak := 1;
10) 在第8列之前删除分页符:
ExcelID.ActiveSheet.Columns[4].PageBreak := 0;
11) 指定边框线宽度:
ExcelID.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )
12) 清除第一行第四列单元格公式:
ExcelID.ActiveSheet.Cells[1,4].ClearContents;
13) 设置第一行字体属性:
ExcelID.ActiveSheet.Rows[1].Font.Name := '隶书';
ExcelID.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelID.ActiveSheet.Rows[1].Font.Bold := True;
ExcelID.ActiveSheet.Rows[1].Font.UnderLine := True;
14) 进行页面设置:
a.页眉:
ExcelID.ActiveSheet.PageSetup.CenterHeader := '报表演示';
b.页脚:
ExcelID.ActiveSheet.PageSetup.CenterFooter := '第&P页';
c.页眉到顶端边距2cm:
ExcelID.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.页脚到底端边距3cm:
ExcelID.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.顶边距2cm:
ExcelID.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底边距2cm:
ExcelID.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左边距2cm:
ExcelID.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右边距2cm:
ExcelID.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.页面水平居中:
ExcelID.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.页面垂直居中:
ExcelID.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印单元格网线:
ExcelID.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷贝操作:
a.拷贝整个工作表:
ExcelID.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelID.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.从A1位置开始粘贴:
ExcelID.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.从文件尾部开始粘贴:
ExcelID.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. ExcelID.ActiveSheet.Rows[2].Insert;
b. ExcelID.ActiveSheet.Columns[1].Insert;
17) 删除一行或一列:
a. ExcelID.ActiveSheet.Rows[2].Delete;
b. ExcelID.ActiveSheet.Columns[1].Delete;
18) 打印预览工作表:
ExcelID.ActiveSheet.PrintPreview;
19) 打印输出工作表:
ExcelID.ActiveSheet.PrintOut;
20) 工作表保存:
if not ExcelID.ActiveWorkBook.Saved then
ExcelID.ActiveSheet.PrintPreview;
21) 工作表另存为:
ExcelID.SaveAs( 'C:\Excel\Demo1.xls' );
22) 放弃存盘:
ExcelID.ActiveWorkBook.Saved := True;
23) 关闭工作簿:
ExcelID.WorkBooks.Close;
24) 退出 Excel:
ExcelID.Quit;如何在Delphi中操作Excel
在数据库应用软件的开发过程中,经常需要把数据转换成Excel文件,让用户作进一步的数据处理。而Delphi是开发数据库应用系统的常用工具,那么,如何在Delphi中操作Excel呢?
我们知道,在Microsoft Office软件中有一种内嵌的编程语言VBA,它是一种宏语言,利用它,你可以编写出功能强大的代码,如打开文件、修改数据、保存数据和设置字体等。另一方
面,Microsoft Office软件中的宏能以VBA代码的形式记录下你的操作过程。因此借助宏操作,可以很轻松地实现某一功能,并把这些代码稍作修改嵌入到你的软件中。但是VBA也存在
一个缺点,它必须有Microsoft Office作平台,在哪里编写,必须在哪里执行。例如在Excel下编写的一段VBA代码,则它只有在Excel下才能运行。因此,笔者的方法就是把VBA代码嵌入
到Delphi中,从而实现用Delphi操作Excel。
下面,我们以Delphi程序为例,说明这种调用方法:
Unit excel;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,ComObj;
//ComObj是操作OLE对象的函数集
type TForm1 =class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
eclApp,WorkBook:Variant;
//声明为OLE Automation 对象
xlsFileName:string;begin
xlsFileName:='ex.xls';
try
//创建OLE对象Excel Application与 WorkBook
eclApp:=CreateOleObject('Excel.Application');
WorkBook:=CreateOleobject('Excel.Sheet');
except
ShowMessage('您的机器里未安装Microsoft Excel。');
Exit;
end;
try
ShowMessage('下面演示:新建一个XLS文件,并写入数据,最后关闭它。');
workBook:=eclApp.workBooks.Add;
eclApp.Cells(1 , 1):='字符型';
eclApp.Cells(2 , 1):='Excel文件';
eclApp.Cells(1 , 2):='Money型';
eclApp.Cells(2 , 2):=10.01;
eclApp.Cells(1 , 3):='日期型';eclApp.Cells(2 , 3):=Date;
WorkBook.saveas(xlsFileName);
WorkBook.close;
ShowMessage('下面演示:打开刚创建的XLS文件,并修改其中的内容,然后,由用户决定是否保存。');
WorkBook:=eclApp.workBooks.Open(xlsFileName);
eclApp.Cells(2 , 1):='Excel文件类型';
if MessageDlg(xlsFileName+'文件已被修改,是否保存?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
WorkBook.save
else
workBook.Saved := True; //放弃修改
WorkBook.Close;
eclApp.Quit;
//退出Excel Application
//释放VARIANT变量
eclApp:=Unassigned;
except
ShowMessage('不能正确操作Excel文件。可能是该文件已被其他程序打开,或系统错误。');
WorkBook.close;
eclApp.Quit;
//释放VARIANT变量
eclApp:=Unassigned;
end;
end;
end.
经过上述操作过程后,我们就可以很放心地将数据库中的数据转换成Excel文件了
Sheet.Columns[1].HorizontalAlignment似乎赋值不了
Sheet.Cells[1,1].horizontalalignment:=3;居中
5好象是填充测试过,可以使用
procedure TForm3.Excel4Click(Sender: TObject); //将联合查询的结构转为excel表
var xlsFilename :string;
eclApp,WorkBook :variant ;
a_filedNo,i,j :integer;
begin
a_filedNo :=Form3.DBGrid4.FieldCount ;
xlsFileName :='关于学生成绩基本信息.xls'; try
eclApp :=CreateOleObject('Excel.Application');
WorkBook :=CreateOleObject('Excel.Sheet');
except
showmessage('您的系统没有安装MS EXCEL');
exit;
end; try
WorkBook :=eclApp.workBooks.add ;
for i :=1 to a_FiledNo do //转化字段名;
begin
//eclApp.cells(1,i) :=Form3.DBGrid4.Columns[i-1].Title.caption ;
eclApp.cells(1,i) :=Form3.DBGrid4.Fields[i-1].FieldName ;
end; Form3.DBGrid4.DataSource.DataSet.First ;
for i :=1 to Form3.a_recno do //Form3.a_recno begin
for j :=1 to a_filedNo do //转化一个记录
begin
eclApp.cells(i+1,j) :=Form3.DbGrid4.Fields[j-1].Value ;
end;
Form3.DBGrid4.DataSource.DataSet.Next ;
end;
try
WorkBook.saveas(ExtractFilePath(Application.ExeName )+xlsFileName);
WorkBook.close;
showmessage('保存EXECL文件成功,路径为:'+ExtractFilePath(Application.ExeName )+xlsFileName);
except
showmessage('保存文件出错');
end;
except
showmessage('不能正确操作EXECL文件,可能该文件已经被其他程序占用或系统错误');
WorkBook.close;
eclApp.quit;
eclApp :=Unassigned;
end;
end;