当前位置:主页>销售管理软件> 列表

EXCEL的编程

仓库管理软件版1楼: 使用动态创建的方法创建 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