+ -
当前位置:首页 → 问答吧 → DELPHI导出Excel2007之后版本,报格式太旧的问题

DELPHI导出Excel2007之后版本,报格式太旧的问题

时间:2011-10-31

来源:互联网

DELPHI导出Excel2007之后版本,报格式太旧的问题
  try
  ExcelApp:= TExcelApplication.Create(Self);
  ExcelWorkbook:= TExcelWorkbook.Create(Self);
  ExcelWorksheet:= TExcelWorksheet.Create(Self);
  try
  Screen.Cursor := crHourGlass;
  ExcelApp.ConnectKind := ckNewInstance;
  ExcelApp.Connect;
  ExcelWorkbook.ConnectTo(ExcelApp.Workbooks.Add(emptyparam, 1));
  ExcelWorksheet.ConnectTo(ExcelWorkbook.Worksheets[1] as _Worksheet);
  ExcelWorksheet.Name :=edit1.Text;
  outdata(ds);
  ExcelWorksheet.Range['A1',GetColumnCharacters(Lbx_ExcelFields.Items.Count)+'1'].EntireColumn.Autofit;
  ExcelApp.Visible[1]:=true;

执行ExcelWorkbook.ConnectTo(ExcelApp.Workbooks.Add(emptyparam, 1));
时报格式太旧,该函数应该是关联excel2000,请问对于excel2007之后版本,怎么解决,谢谢了。

作者: yuhouyangguang   发布时间: 2011-10-31

这个不清楚,你可以找个控件导出xls,不过格式也是旧的,但是2007应该能打开。

作者: sundayzhao   发布时间: 2011-10-31

别用这个控件,你直接用
 excel1: Variant;

excel1 := CreateOleObject('Excel.Application');
excel1.WorkBooks.Open(文件名);
excel1.WorkSheets['sheet1'].Activate;

excel1.Cells[row, col]:表示单元格
excel1.ActiveSheet.Columns[col].Insert;插入列
excel1.Cells.Columns.AutoFit;自动列大小
excel1.visible := true;是excel可见。

作者: AnSunny   发布时间: 2011-10-31

delphi控件版的Office控件本质上还是通过OLE,但版本更新上没有跟上MS的步伐
建议直接使用OLE接口,代码如2楼

作者: tjianliang   发布时间: 2011-10-31

同意二楼的做法,你装的什么版本就用什么版本就可以了。

作者: babydog01   发布时间: 2011-10-31

引用 3 楼 tjianliang 的回复:

delphi控件版的Office控件本质上还是通过OLE,但版本更新上没有跟上MS的步伐
建议直接使用OLE接口,代码如2楼

支持!!!!!!!!!!!

作者: zhnglicho   发布时间: 2011-10-31