自己本機還有其他2為同事電腦跑的導出excel,這是正確的格式
班別:全部 廠區:材料應用部
計划產能 實際產 計劃 實際 停機 生產達
(KG) 能(KG) 工時 工時 工時 稼動率 成率
2310 1575 6.5 6.5 96.9%
2060 1981 10.0 10 99.1%
300 300 1.0 1 100.0%
1020 1100 3.8 3.83 95.7%
5690 4956 21.3 21.33 2.17 97.0% 97.7%這是東莞那邊同事跑的,表頭欄位錯位。
班別:白班 廠區:材料應用部
計划產能 (KG) 實際產 能(KG) 計劃 工時 實際 工時
1020 1100 3.8 3.83 95.7% 0
2310 1575 6.5 6.5 96.9% 0
3330 2675 10.3 10.33 1.667 93.9% 96.4% 0
25 25 0.3 0.33 63.1% 0
780 575 8.5 8.5 45.1% 0
805 600 8.8 8.83 3.167 80.3% 45.6% 0同樣的代碼同樣的格式但是導出excel后是2種畫面,這是為什麽?
excel的版本不同嗎?自己覺得報表是沒什麽問題的,但是不知道出現這個問題的原因在哪!

解决方案 »

  1.   

    可能excel默认值设置有问题,可能東莞那邊列宽度的默认值被修改,修改一下看看
      

  2.   

    我的是这样子做的
    创建对象,初始化表头,然后填数字
    Dim oExcel As Object
    Dim oBook As Object
    Dim oSheet As Object '在EXCEL中创建一个新的worksheet
    MSFlexGrid1.Cols = 10
    MSFlexGrid1.Rows = 1
    MSFlexGrid1.TextMatrix(0, 0) = "序号"
    MSFlexGrid1.TextMatrix(0, 1) = "记录时间"
    MSFlexGrid1.TextMatrix(0, 2) = "主变电压(KV)"
    MSFlexGrid1.TextMatrix(0, 3) = "主变电流(A)"
    MSFlexGrid1.TextMatrix(0, 4) = "视在功率(KW)"
    MSFlexGrid1.TextMatrix(0, 5) = "有功功率(KVA)"
    MSFlexGrid1.TextMatrix(0, 6) = "无功功率(Kar)"
    MSFlexGrid1.TextMatrix(0, 7) = "功率因数"
    MSFlexGrid1.TextMatrix(0, 8) = "谐波比"
    'MSFlexGrid1.TextMatrix(0, 9) = "开关档位"
    MSFlexGrid1.ColWidth(1) = 2000
    MSFlexGrid1.ColWidth(2) = 1200
    MSFlexGrid1.ColWidth(3) = 1200
    MSFlexGrid1.ColWidth(4) = 1200
    MSFlexGrid1.ColWidth(5) = 1290
    MSFlexGrid1.ColWidth(6) = 1290
    ‘’‘’‘’‘’‘’‘’‘’‘’
    ‘’以下为填数字的一部分
    Set oExcel = CreateObject("excel.application")
               Set oBook = oExcel.Workbooks.Open(save_path1)
               oExcel.Visible = False
               Set oSheet = oExcel.Worksheets("负荷记录")
               old_list = oSheet.usedrange.Rows.Count
               k = 0
               'length1 的长度取值问题?????
               If length1 > 1 Then
                  For i = 1 To length1
                    If oSheet.cells(old_list, 2) = MSFlexGrid1.TextMatrix(i, 1) Then
                      k = i      'k是位置,也是条数
                      Exit For
                     End If
                  Next
      

  3.   

    我對比了下發現她導出來的和我導出來的表不一致,能否細緻說下在哪個地方修改excel宽度的默认值
      

  4.   

    不对,你的问题更像出在自动换行的设置上,在导出数据前设置自动换行
    Range("A1").WrapText = True
      

  5.   

    我裡面設置是Word Warp=true 允許換行!剛才我將那幾個錯位的欄位名,全部放在一行裡面,不需要它換成2行顯示。同事那邊跑出來: 計划產 | 能(KG)| 實際產 | 能(KG)| 計劃 |工時 | 實際 | 工時 
    居然是這樣的東西!擺放在一個Label裡面,導出來居然斷成2行,無語了!