
delphi如何从数据库中按excel模版格式导出到excel
如题,公司提交的工作报告是有格式的(模版),你也可以假设为实验报告什么之类的为了简化,假设涉及的数据库表为1个。那么如何从数据库中按模版格式导出到excel?回答问题几个...
如题,公司提交的工作报告是有格式的(模版),你也可以假设为实验报告什么之类的为了简化,假设涉及的数据库表为1个。那么如何从数据库中按模版格式导出到excel?回答问题几个注意:1.连接方式最好为ADO2.平台;delphi(如果你是学习其他语言者,请留下思路)3.一般公司给的excel工作报告模版里面的行列都是固定的,但是假如你工作量很大,工作项目很多,本来工作报告是一行写一个项目,模版提供5行空间,但是事实上呢工作项目为7,那么如何操作excel自增行?暂不考虑自增列,假设列空间足够4. 觉得50分太少,留句话,只要你思路什么的可以,加分无所谓。5.能给出完整Demo最好,如果你只对其中某部分有感触,都OK!6.接受算法,程序代码,思路...
展开
2个回答
2011-08-25
展开全部
关于操纵EXCEL增加行并保持设定好的格式的问题,我有个解决办法,不知道是不是符合你的意思:
其实我只要事先在模板文件中将两行的格式设定好就行了,比如我把第7和第8行的底色设成灰色,你在DELPHI中就可以通过在第8行前插入行就OK了。
var
ExcelApp, MyWorkBook, sheet: OLEVariant;
f1: string;
i: integer;
begin
ExcelApp := createoleobject('excel.application');
ExcelApp.visible := false;
ExcelApp.ScreenUpdating := false;
f1 := 'c:\模板文件.xls';
ExcelApp.WorkBooks.Open(f1);
MyWorkBook := ExcelApp.workbooks[1];
sheet := MyWorkBook.worksheets[1];
for i := 0 to table1.RecordCount - 1 do
begin
sheet.rows[8 + i].insert;
sheet.cells[8 + i, 1] := 'A';
sheet.cells[8 + i, 2] := 'B';
table1.next;
end;
sheet.rows[7].delete; //删除仅为提供格式样板的多余空行
sheet.rows[7 + i].delete;
...... //以下省略
end;
其实我只要事先在模板文件中将两行的格式设定好就行了,比如我把第7和第8行的底色设成灰色,你在DELPHI中就可以通过在第8行前插入行就OK了。
var
ExcelApp, MyWorkBook, sheet: OLEVariant;
f1: string;
i: integer;
begin
ExcelApp := createoleobject('excel.application');
ExcelApp.visible := false;
ExcelApp.ScreenUpdating := false;
f1 := 'c:\模板文件.xls';
ExcelApp.WorkBooks.Open(f1);
MyWorkBook := ExcelApp.workbooks[1];
sheet := MyWorkBook.worksheets[1];
for i := 0 to table1.RecordCount - 1 do
begin
sheet.rows[8 + i].insert;
sheet.cells[8 + i, 1] := 'A';
sheet.cells[8 + i, 2] := 'B';
table1.next;
end;
sheet.rows[7].delete; //删除仅为提供格式样板的多余空行
sheet.rows[7 + i].delete;
...... //以下省略
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询