我必須將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