1

flexgrid を vb.net vs2008 から Office 2010 英語版にエクスポートすると問題が発生します。Excel ファイルは開いていますが、空です。ただし、オフィスのフランス語版を使用すると、[正しく]開かれます

私のコードは次のとおりです。

On Error GoTo ErrorHandler

    Dim iRow As Short
    Dim iCol As Short
    Dim objExcl As Excel.Application
    Dim objWk As Excel.Workbook
    Dim objSht As Excel.Worksheet
    Dim iHead As Short
    Dim vHead As Object

    objExcl = New Excel.Application
    objExcl.Visible = True
    objExcl.UserControl = True


    Dim oldCI As System.Globalization.CultureInfo = _
System.Threading.Thread.CurrentThread.CurrentCulture
    System.Threading.Thread.CurrentThread.CurrentCulture = _
        New System.Globalization.CultureInfo("en-US")





    objWk = objExcl.Workbooks.Add
    System.Threading.Thread.CurrentThread.CurrentCulture = oldCI
    objSht = objWk.Sheets(1)


    vHead = Split(g.FormatString, "|")
    'populate heading in the sheet
    'take the column heading from flex grid and put it in the sheet
    For iHead = 1 To UBound(vHead)

        If Len(Trim(vHead(iHead))) > 0 Then objSht.Cells._Default(1, iHead) = vHead(iHead)
    Next 

    System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor

    For iRow = 0 To g.Rows - 1
        For iCol = 0 To g.get_Cols() - 1
            g.Row = iRow
            g.Col = iCol
            '
            'If g.Text <> "" Then objSht.Cells._Default(iRow + 2, iCol + 1) = g.Text
            If g.Text <> "" Then
                objSht.Range(NumCol2Lattre(iCol + 1) & "" & iRow + 2 & ":" & NumCol2Lattre(iCol + 1) & "" & iRow + 2 & "").Select()
                objExcl.ActiveCell.Value = g.Text
            End If
        Next iCol


    Next iRow

    objExcl.Application.Visible = True


    System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default


    objSht = Nothing

    objWk = Nothingl may not be destroyed until it is garbage collected. Click 
    objExcl = Nothing
    Exit Sub

ErrorHandler:    
    objSht = Nothing

    objWk = Nothing

    objExcl = Nothing

    MsgBox("Error In expotation task & " & Err.Description, MsgBoxStyle.Information)
    Err.Clear()
4

2 に答える 2

0

この Web サイトを確認してくださいMSFlexGrid を Excel にエクスポートする

あなたの問題はvHead = Split(g.FormatString, "|")、デバッガーを使用して の値を調べることにあると思われますg.FormatString。エラーを引き起こしていますか?一度に 1 行ずつコードを実行し、何が起こるかを確認します。

于 2013-07-24T01:02:43.207 に答える