EXCEL的编程
var ExcelApp: Variant;
ExcelApp := CreateOleObject( ''Excel.Application'' );
问:
我的单元格式有以下几种,如何定义:
1)字符串:要求左对齐
2)货币:要求有¥和三位分割逗号
3)浮点数字:右对齐,且小数位数为2
4)日期:格式 yyyy-mm-dd 或者 yyyy年mm月dd日
哪位大侠晓得,谢谢
2楼: 我回答过的一个问题
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3219967
设置不同的属性就可以了,先在Execl里面设置出宏,然后可以就了
具体步骤如下:
菜单 -- 工具-- 宏-- 录制新宏 ,这样就开始录制了
然后在Execl里面随便找一个单元格,点击右键,在菜单里面选中"设置单元格格式",然后在里面设置你要的东西,比如对齐,等等,录制完以后,点击菜单里面的停止录制
再打开刚刚那个菜单,工具--宏--宏,然后找到刚刚录制的那个宏,点击编辑按钮,就可以看到代码了,把里面的代码移植出来就可以,需要自己去完善
如
HorizontalAlignment := xlLeft 左对齐
NumberFormatLocal = "[DBNum1][$-804]m""月""d""日"";@" 日期格式
--------------------------------------
回答结束,如果还有问题,留下QQ,记得给分 如进销存软件的作用
3楼: 哪里有这个语法手册介绍
4楼: delphi中如何对应这个语法?
5楼: delphi中没有的,你需要关于excel的函数等,要买个开发人员版的office了。
可以通过在excel里录制宏来解决问题。
6楼: 留个地址 我给你一个参考 不过是VB的例子 其实也差不多啦
仓库管理软件版7楼: chenybin的方法可行,我們都是用這個對做的,要好好研究
8楼: chenybin说的方法可行,偶也是这么做的。chenybin最近好象时间很多的样子回答了不少问题,分都几次排第一了
9楼: fumian@tom.com
谢谢!
10楼: 找了几个例子,基本测试通过,但是有个问题想请教:
在excel中,有三个 sheet, 分别是 sheet1,sheet2, sheet3 我如何只要 sheet1,而不要 sheet2和sheet3
11楼: Delphi控制Excel的方法
1 创建Excel文件
要在Delphi中控制Excel,就必须用到OLE自动化。现在一般采用OLE2来创建OLE对象,当激活一个OLE对象时,服务器程序仅在容器程序内部激活,这就是所谓的“就地激活”(in-place activation)。
创建Excel文件时,先创建一个OLE对象,然后在对象中建立工作表worksheet,如函数createExcel所示:
function createExcel:variant;
var
v:variant;
sheet:variant;
begin
v:=createoleobject(''Excel.Application'');//创建OLE对象
v.visible:=true;
v.workbooks.add(-4167); //添加工作表
v.workbooks[1].sheets[1].name:=''test'';
sheet:=v.workbooks[1].sheets[''test''];
return v;
end;
可以设置单元格的高度等值,但是编码实现格式修改的好象还没看到过,一般我们打开了EXCEL之后就直接对EXCEL操作了,比较偷懒。
12楼: 知道了
var
ExcelApp: OleVariant;
WorkBook: OleVariant;
WorkSheet: OleVariant;
begin
try
try
ExcelApp := CreateOleObject( ''Excel.Application'' );
ExcelApp.Visible:=false;
ExcelApp.DisplayAlerts := False;
WorkBook := ExcelApp.Workbooks.Add(-4167); // 好像是这句的作用,使得只有一个sheet,不过 -4167是什么意思?
WorkBook.WorkSheets[1].Name := ''Test Data 2'';
//设置列宽
ExcelApp.ActiveSheet.Columns[1].ColumnWidth := 7;
ExcelApp.ActiveSheet.Columns[2].ColumnWidth := 5;
ExcelApp.ActiveSheet.Columns[3].ColumnWidth := 5;
ExcelApp.ActiveSheet.Columns[4].ColumnWidth := 11;
ExcelApp.ActiveSheet.Columns[5].ColumnWidth := 9;
ExcelApp.ActiveSheet.Columns[6].ColumnWidth := 9;
ExcelApp.ActiveSheet.Columns[7].ColumnWidth := 9;
ExcelApp.ActiveSheet.Columns[8].ColumnWidth := 10;
ExcelApp.ActiveSheet.Columns[9].ColumnWidth := 10;
ExcelApp.ActiveSheet.Columns[10].ColumnWidth := 16;
//添加表头 20040310 muhx
ExcelApp.Cells[1,5].Value := ''测试数据'';
ExcelApp.ActiveSheet.Range[''A1:J1''].Borders[3].Weight := 3;
ExcelApp.ActiveSheet.Range[''A1:J1''].Borders[4].Weight := 3;
ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApp.Cells[2,1].Value := ''通道号'';
ExcelApp.Cells[2,2].Value := ''区号'';
ExcelApp.Cells[2,3].Value := ''板号'';
ExcelApp.Cells[2,4].Value := ''板上电池号'';
ExcelApp.Cells[2,5].Value := ''电池编号'';
ExcelApp.Cells[2,6].Value := ''通道选择'';
ExcelApp.Cells[2,7].Value := ''分选结果'';
ExcelApp.Cells[2,8].Value := ''电压(mV)'';
ExcelApp.Cells[2,9].Value := ''内阻(mΩ)'';
ExcelApp.Cells[2,10].Value := ''检测时间'';
ExcelApp.ActiveSheet.Range[''A2:J2''].Borders[4].Weight := 3;
ExcelApp.ActiveWorkBook.SaveAs(''2.xls'');
except
on E : EOleException do showmessage(e.Message) ;
end ;
finally
if not VarisEmpty(ExcelApp) then
begin
ExcelApp.WorkBooks.Close;
ExcelApp.Quit;
ExcelApp:=UnAssigned ;
end;
end ;
end; 如服装零售管理软件
13楼: thank u
仓库管理软件版14楼: 耐心看,总会看得出些道道的
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2039437
在delphi中完全控制Excel