我必须将VB6应用程序中不同窗体中的几个Flexgrid的数据传输到没有安装Excel的计算机上的.xls文件。 Openoffice,LibreOffice等安装在这些PC中。VB6到Xls没有Excel
我开发了一个以FlexGrid作为参数并将其数据传输到xls的通用过程。此过程使用DAO。由于各种FlexGrids中的各种列包含各种数据类型,因此在该过程中,我将字段定义为类型“dbText”。
t.Fields.Append t.CreateField(pFlxGrd.TextMatrix(0, j), dbText)
从任何网格转移到xls工作正常。但是,问题在于,对于包含数据的每个单元格,插入单引号以指示其文本类型的数据。
有什么方法可以删除或避免这些引号?由于数字数据将用于求和等,因此必须删除这些引号。
使用数值数据类型,如dbInteger或dbLong尝试?请参阅https://msdn.microsoft.com/en-us/library/office/ff194420.aspx。 – MarkL
使用数字数据类型将无济于事,因为过程提供了一个网格作为参数,它只是将网格的数据发送到excel。 当从网格标题创建tabledef中的字段时,它不会知道哪个是数字字段,哪些不是。 –
你是否可以做到这一点取决于一些事情。问题是Jet Excel IISAM必须将Sheet或Range的每列作为单一数据类型处理。文本通常是字符串,数字通常是双精度等。如果现有图纸/范围中的类型混合在一起,事情会变得危险。根据第一个MaxScanRows中的内容(默认值为8),列可能以String或Double结尾。 – Bob77