如何用delphi控制excel单元格合并

shnide 2009-03-12 08:42:06
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Excel2000, OleServer, StdCtrls, ComCtrls,TLHelp32, DB, ADODB,math,
ExcelXP;

type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
OpenDialog1: TOpenDialog;
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure teminate_excel;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var Template:OleVariant;
ExcelApplication: TExcelApplication;
Sheet, Range: Variant;
cou90,cou91,cou92,cou93,cou94:integer;
c:string;
begin
self.ExcelWorksheet1.Cells.Item[5,1].BorderAround(xlcontinuous,xlthin,xlautomatic,clblack);
self.ExcelWorksheet1.Cells.Item[5,1]:='总计';

self.ExcelWorksheet1.Cells.Item[6,1].BorderAround(xlcontinuous,xlthin,xlautomatic,clblack);
self.ExcelWorksheet1.Cells.Item[6,1]:='一、按登记注册类型分组';
self.ExcelWorksheet1.SaveAs('f:\表1.xls');
self.ExcelWorksheet1.Disconnect;
self.ExcelWorkbook1.Disconnect;
self.ExcelApplication1.Disconnect;
self.teminate_excel;
end;

以上就是我的程序的一部分,现在我想让excel里的a1单元格与a2,a3单元格合并,并在合并的单元格内写“注册类型”,这样应该怎么做?请大家们指点,最好是在我的程序里面帮我改一下,谢谢
...全文
745 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovelymelon 2009-03-12
  • 打赏
  • 举报
回复
引用excel2000 应该没问题,我都测试过了
shnide 2009-03-12
  • 打赏
  • 举报
回复
请大家回答下,谢谢~~
shnide 2009-03-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lovelymelon 的回复:]
合并单元格
self.ExcelWorksheet1.Range['E1','E3'].MergeCells:=true;
[/Quote]
为什么会提示“interface not supported.”这个错误啊?
lovelymelon 2009-03-12
  • 打赏
  • 举报
回复
合并后的单元格的行和列的判断方法就是,合并前单元格中最小行号和最小列号
bdmh 2009-03-12
  • 打赏
  • 举报
回复

ExcelWorksheet1.Range['A1','A3'].MergeCells := True;//合并
ExcelWorksheet1.Cells.Item[1,1].Value := 'dddd';//赋值
lovelymelon 2009-03-12
  • 打赏
  • 举报
回复
合并后的单元格赋值
self.ExcelWorksheet1.Cells.Item[1,5]:='123';
lovelymelon 2009-03-12
  • 打赏
  • 举报
回复
合并单元格
self.ExcelWorksheet1.Range['E1','E3'].MergeCells:=true;
shnide 2009-03-12
  • 打赏
  • 举报
回复
楼上的,你的代码我加进去有错误,请你在我的代码下更改,另外合并后的单元格怎么向里写内容。谢谢
bdmh 2009-03-12
  • 打赏
  • 举报
回复

ExcelWorksheet1.Range[ExcelWorksheet1.Cells[1,1],ExcelWorksheet1.Cells[3,1]].Merge;
shnide 2009-03-12
  • 打赏
  • 举报
回复
急~~在线等,谢谢各位
不需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文件

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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