是不是可以删除a1列,把a1列的内容和e2的内容合并写入e2

解决方案 »

  1.   

    用ole联结试试,提供一段程序,供参考。利用Excel实现数据录入及打印预览(原创) - 浏览121次   Excel强大的数据录入功能极打印预览功能是其他大多数程序望尘莫及的,能不能在我们自己编的程序中调用Excel的数据录入功能及预览功能呢。实际上,使用Delphi你能完全控制Excel或Word的所有功能。虽然来自Excel对象层次内部非常复杂,但我们通过使用Variant(在OLE自动化中使用的Delphi的安全数组版本)通常可以简洁,容易的实现对Excel的控制。
      下面,我将我实际运用的一些方法介绍给大家:1.启动Excel  在Uses中加入Comobj;var
     v:Variant;
    begin
     v:=CreateOleobject(‘Excel.Application’);
     v.Visible:=true;
    end;  其中,Comobj中包含了用来检索OLE的对象和向其传发命令的例程,第一行代码启动Excel,执行后Excel会在内存中出现,因此第二行代码使之可见。2.关闭Excel  在创建了Excel Application对象后,调用它的Quit方法完成关闭事件。If not varIsEmpty(v) then v.quit;  如果需要在关闭前确定是否存盘,加入:v.DiaplayAlert:=true; //确定存盘
    v.DiaplayAlert:=false;//不存盘,直接退出
    (//Fox注:此处有待商榷。原文无)
    3.加入工作表及对其表格内容的操作var
     Sheet: Variant;
    begin
     v.workbook.add;
     v.Workbooks.Add;
     v.Workbooks[1].WorkSheets[1].Name := '数据录入';
     Sheet:= v.Workbooks[1].WorkSheets['数据录入'];
     Sheet.Cells[1,1] :='试验'; Label1.Caption:=Sheet.Cells[1,1];
    End;  Sheet对象是很多页的集合,其他的Workbooks是工作薄的集合,WorkSheets对象是工作表的集合,Charts对象是图表的集合。4.格式的设置var
     Range: Variant;
    begin
     Range := v.Workbooks[1].WorkSheets['数据录入'].Range['A2:M2’]; 
    //单元格从A2到M2 
    Range.Merge; //合并单元格
     Range.Rows.RowHeight := 20; //设置行高
     Range.Borders.LineStyle := 1; //加边框
     Range.Columns[2].ColumnWidth := 12; // 设置列宽
     Range.FormulaR1C1 := '标题';
     Range.HorizontalAlignment := 3; //水平对齐方式 
      //对于 Range.HorizontalAlignment := 3;
      //其中1:常规;2:左缩进;3:居中;4:靠右;5:填充
      //对于 Range.VerticalAlignment := 2;
      //其中1:靠上;2:居中;3:靠下;4:两端对齐

     Range.VerticalAlignment := 2; //垂直对齐方式
     Range.Characters.Font.Name := '宋体'; //字体
     Range.Characters.Font.FontStyle := '加粗';
     Range.Characters.Font.Size := 12;
     Range.Characters.Font.OutlineFont := False; //是否有下划线
     Range.Characters.Font.ColorIndex := xlAutomatic; //颜色
    end;  其他的属性可以察看MSDN或者其他资料。5. 打印的设置var
     Sheet: Variant;
    begin
     Sheet := XLApp1.Workbooks[1].WorkSheets['数据录入'];
     Sheet.PageSetup.PrintTitleRows :='$1:$3'; //页眉
     Sheet.PageSetup.PrintTitleColumns := '';
     Sheet.PageSetup.LeftFooter := ' 注:页脚'+' 总共&N页'+'--第&P页'; //页脚
     Sheet.PageSetup.LeftMargin := 30; //设置边距
     Sheet.PageSetup.RightMargin := 30;
     Sheet.PageSetup.TopMargin := 30;
     Sheet.PageSetup.BottomMargin := 50;
     Sheet.PageSetup.PrintQuality := 400; //分辨率
     Sheet.PageSetup.CenterHorizontally := True;//是否水平居中
     Sheet.PageSetup.CenterVertically := True; //是否垂直居中
     Sheet.PageSetup.Orientation := 2; //横向打印
     Sheet.PageSetup.Draft := False; //非草稿模式
     Sheet.PageSetup.FirstPageNumber := xlAutomatic;
     Sheet.PageSetup.BlackAndWhite := True; //黑白稿
     Sheet.PageSetup.Zoom := 100; //缩放
     sheet.PrintPreView; //打印预览
    end;  好了,到这,我已经介绍了大部分常用的控制方法,试试吧。提醒你,你的机子装了Excel没有…… 
      (演示代码及程序下载 - 183k)  作者:万重(转载请保持完整)
      2000.6.9 
      

  2.   

    谢谢baxp(baxiaopeng)和hz_gyf(小毛)!