1.最近看到一个将DBGrid中的数据输出到Excel的例子,其中保存Excel文件的语句是:
Excel.ActiveWorkbook.SaveAs(FileName, xlNormal, '', '', False, False);
其中xlNormal = -4143是常量。
请教一下和后5个参数的意义,和Excel.ActiveWorkbook.SaveAs(FileName)有和不同?
2.在使用Excel.Columns[k+1].ColumnWidth:= DBGrid.Columns.Items[i].Title.Column.Width;语句设置列宽时出错,提示“不能设置类Range的ColumnWidth”属性。该如何解决?或有别的方法设置列宽?在线等待,望高手们不吝赐教。

解决方案 »

  1.   

    第二个问题.
    你的excel范围range设置不对.
      

  2.   

    第二个问题:
    Excel的ColumnWidth和DBGrid的Columns的Width,这两个宽度的度量单位好像是不一样的吧?
    我令Excel.Columns[k+1].ColumnWidth:= 10 所得的Excel中字段的宽度,比DBGrid中DBGrid.Columns.Items[i].Title.Column.Width;= 40 的字段还要宽。
    谁知道两者的换算关系啊?
      

  3.   


    Excel中以磅为单位
    Delphi里用像素为单位(1磅=0.035厘米)
    (1 厘米 = 28.35 磅)
      1像素 = 0.75磅
      

  4.   

    第一个问题应用于 Workbook 对象的 SaveAs 方法。保存对不同文件中的工作表的更改。expression.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)expression   必需。该表达式返回上述对象中一个对象。Filename   Variant 类型,可选。该字符串表示要保存的文件名。可包含完整路径。如果不指定路径,Microsoft Excel 将文件保存到当前文件夹中。FileFormat   Variant 类型,可选。保存文件时使用的文件格式。要得到有效选项的列表,请参阅 FileFormat 属性。对于已有文件,其默认格式是上次指定的文件格式;对于新文件,默认格式为当前使用的 Excel 版本格式。Password   Variant 类型,可选。它是一个区分大小写的字符串(最长不超过 15 个字符),用于指定文件的保护密码。WriteResPassword   Variant 类型,可选。该字符串表示文件的写保护密码。如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读方式打开。 ReadOnlyRecommended   Variant 类型,可选。如果该值为 True,则在打开文件时显示一条信息,提示该文件以只读方式打开。CreateBackup   Variant 类型,可选。如果该值为 True,则创建备份文件。AccessMode   XlSaveAsAccessMode 类型,可选。XlSaveAsAccessMode 可为以下 XlSaveAsAccessMode 常量之一。 
    xlExclusive  (不含方式) 
    xlNoChange default  (不更改访问方式) 
    xlShared  (共享列表)
    如果省略此参数,则不会更改访问方式。如果在没有改变文件名的情况下保存共享列表,则可以忽略参数。若要改变访问方式,请使用 ExclusiveAccess 方法。
     ConflictResolution    XlSaveConflictResolution 类型,可选。XlSaveConflictResolution 可为以下 XlSaveConflictResolution 常量之一。 
    xlUserResolution  (显示冲突解决方案对话框) 
    xlLocalSessionChanges (自动接受本地用户的修改) 
    xlOtherSessionChanges  (接受除本地用户之外的其他用户的更改)
    如果忽略本参数,则显示冲突处理对话框。
     AddToMru   Variant 类型,可选。如果该值为 True ,则将该工作簿添加到最近使用的文件列表中。默认值为 False。TextCodePage   Variant 类型,可选。不在美国英语版的 Microsoft Excel 中使用。TextVisualLayout   Variant 类型,可选。不在美国英语版的 Microsoft Excel 中使用。Local   Variant 类型,可选。如果该值为 True,则以 Microsoft Excel(包括控制面板设置)的语言保存文件。如果该值为 False(默认值),则以 Visual Basic for Applications (VBA) 的语言保存文件,其中 Visual Basic for Applications (VBA) 为典型安装的美国英语版本,除非 VBA 项目中的 Workbooks.Open 来自旧的国际化的 XL5/95 VBA 项目。