我用剪接板在delphi中把数据到入到Excel表格中,功能已经实现。关于Excel操作的代码如下:
var:
xlApp,xlBook,xlShee : olevariant;
begin
...
 xlApp := CreateOleObject('Excel.Application');
 xlBook := xlApp.Workbooks.Add;
 xlSheet := xlBook.Worksheets['sheet1'];
 xlApp.Visible := True;
 xlsheet.paste;//有关剪接的代码在上面我省掉了没打出来。
...
end;
现在我的问题是:
1.怎么样在把到入的文件保存为我在OpenDialog中输入的文件名。
2.用这种方法操作EXcel同用组建TExcelApplication操作Excel表,哪个方便。
3.TExcelApplication.workbooks.add()方法,以及saveAs()和Close()方法,那些参数常量代表什么意思,如果想把Excel表以普通模式打开,add方法中的参数用该哪个常量?
谢谢大家了,,希望大家在回答的时候能把格式写详细点不然我一用又是参数不对什么的错误提示了。。

解决方案 »

  1.   

    if not (FileExists(extractfil+'\pring\报价单.xls')) then
      xls.WorkBooks.add   //增加一个表
        else xls.WorkBooks.open(extractfil+'\123.xls');打开一个表
      

  2.   

    surdon(ャ野马ャ) :
    谢谢,另外,我还有个问题,请指教:
    我用剪接扳把string型数据,粘贴到Excel中,怎么‘0001’变成了1,怎么样解决这个问题?
      

  3.   

    1.if opendilog.execute then      begin
          //保存的代码
        end;2。个人认为动态创建比用控件好3。ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );
    ExcelApplication1.WorkBooks.Close;
      

  4.   

    怎么能够将字符型的'0001'导入到EXcel时候不转化为'1'呀?可不可以实现?
      

  5.   

    好了。。我自己摆平了给第一列指定数据格式就行了。。呵呵。。
     xlSheet.Cells[row,1].NumberFormatLocal := '@'; //学号列为字符型
      

  6.   

    hqhhh(枫叶):你帮了我好多忙,我的东西快完工了,等完工后我一定要开帖谢谢你们。。呵呵。另外还有些没时间接的帖也要结掉了...
      

  7.   

    我用剪接扳把string型数据,粘贴到Excel中,怎么‘0001’变成了1,怎么样解决这个问题?可以在 0001 前面加一个 '  
    也就是''001'这样一定行
    打开一个 xls文件试试
      

  8.   

    surdon(ャ野马ャ) :谢谢。。我已经解决了。只是没及时揭贴子。。呵呵。。
    我用循环给每行的第一列中的单元格指定数据格式为字符型,可以实现了。。呵呵。。for row:=1 to dbgrid[1].recordcount do 
      xlSheet.Cells[row,1].NumberFormatLocal := '@'
    ...
    好了。。我揭贴了