DELPHI向已存在的EXCEL写入数据问题

tfyjj1984 2006-05-10 07:20:30
uses( ComObj)
procedure TForm1.Button1Click(Sender: TObject);
var ExcelApp: Variant;
begin
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.Visible := false;
ExcelApp.Caption := '应用程序调用 Microsoft Excel';
ExcelApp.WorkBooks.Open( 'C:\bb.xls' ); //打开已存在的工作簿
ExcelApp.Cells[1,4].Value := 'xcvxvcc';
excelapp.save ;
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveSheet.PrintPreview;
ExcelApp.WorkBooks.Close;
ExcelApp.Quit;
application.MessageBox('保存成功','系统提示',0);
end;
end.

有什么方法可以去掉我这里的对话框呢?我真的无法理解,为什么会这样。
...全文
479 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lipc 2006-10-23
  • 打赏
  • 举报
回复
ExcelApp.ActiveWorkbook.Save;
markld 2006-09-06
  • 打赏
  • 举报
回复
这是向已存在的222.xls文件写入edit1到edit2的内容,每sheet写28个cell 且,sheet都是已经建好的,因为我需要用到已经存在的表的格式。
markld 2006-09-06
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var ExcelApp: Variant;
Sheet: Variant;
i,h:integer;

j,aa,bb,cc:integer;
sheetname:string;
begin
aa:=strtoint(trim(Edit1.Text));
bb:=strtoint(trim(edit2.Text));
cc:=(bb-aa);
h:=1;
try
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Visible := false;
ExcelApp.Caption := '应用程序调用 Microsoft Excel';
ExcelApp.WorkBooks.Open( 'C:\222.xls' ); //打开已存在的工作簿
Except
ExcelApp.Free;
exit;
end;
while cc>0 do
begin
sheetname:='sheet'+inttostr(h);
Sheet :=ExcelApp.Workbooks[1].WorkSheets[sheetname];
j:=0;
while j<7 do
begin
for i:=0 to 3 do
begin
sheet.cells[j+1, i + 1]:= '0'+inttostr(aa);
aa:=aa+1;
end;
inc(j);
end;
cc:=cc-28;
h:=h+1;
end;
excelapp.Visible := True;
ShowMessage('ok!');
end;
liu23xing 2006-05-11
  • 打赏
  • 举报
回复
去掉application.MessageBox('保存成功','系统提示',0);?
zhaojunliang 2006-05-11
  • 打赏
  • 举报
回复
什么对话框,是那个保存成功的对话框吗?
直接去掉就可以啊。
不需Excel也可讀寫xls檔的Delphi控件 用来读取Excel,Access的控件 读写任何单元值 数字型、字符型、布尔型以及错误型。但是你了解日期和时间型单元吗?在Excel中没有这样的单元。Excel是和Delphi一样的方式来存储日期和时间的,即浮点型。那是什么制造了日期或时间值啦,是格式化。 完全支持公式。你可以使用和Excel一样的函数,也支持对外部工作簿引用的公式,你甚至可以从外部引用读取结果。 与操作Delphi的TStringGrid一样的方式操作单元格,或则通过给单元格命名,比如:”D7” 根据单元格的规则以字符串格式读取单元值 根据你的需求格式化单元 格式化很简单。通过获取单元格,你就可以操作单元的格式属性。例如:XLSReadWriteII.Sheet[n].Cell[Col,Row].FontSize := 12; 你也可以对域进行格式化,比如设置边框。 支持所有的Excel格式选项 合并单元格 操作所有的打印选项 选择页面大小,设置边距 设置标题和页脚,包括格式码。 定义打印区域 设置分页符 XLSReadWriteII完全支持Unicode 所有的字符型都是宽字符型。你完全不必担心非英语字符。 控件 你可以插入控件以及定义他们的源和目的单元 绘图 插入所有种类的绘图,从简单的线条到AutoShapes 多行文本和文本框 创建和编辑文本框以及多行文本 图表 创建和Excel中一样选项的图表 复制/移动/删除 可以以Excel一样的行为复制、移动和删除单元 行列也可以像单元一样复制和移动 支持工作簿之间的复制和移动 可以复制整个工作簿 使用命名的域/单元 你可以在你想要的任何地方命名 通过命名访问单元格,例如:XLS.NameAsFloat['MyCell'] := 202.5; 支持指定、内置的名称 支持所有超链接类型 网页和E-mail地址 本地文件 服务器文件 工作薄引用 加密文档 你可以读写加密文件。条件是你需要知道文件的密码。 计算 可计算单元以及整个工作薄 计算引擎将依据单元进行计算。 可读取引用的外部工作薄。这通过一个特殊的快速查询程序进行执行 Rich Text单元 为了轻松地创建多字体格式的单元,单元可以以RTF格式读写 VBA宏 可以读写文件中的宏,使用XLSReadWriteII可以为控件比如:按钮、组合框等添加宏 导入及导出 从下列导入数据… Open Office Calc文档 CSV文件以及其他可以自动识别分隔符、小数分隔符和文本引用字符的文本文件 HTML表格(标签) 数据库 导出数据为… CSV文件 HTML文件 其他 自动过滤 单元验证 有条件的格式 合并单元 PaintCell方法:将单元内容渲染到TCanvas对象的 XLSReadWriteII包还包含下列组件: 从任何数据库中导入数据到工作薄 工作薄导出为HTML文件

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧