我把数据表中的数据生成到EXCEL中,其中数据表中有一个字段是身份证号码,有的身份证号码是18位数字,传到EXCEL中后,由于EXCEL中只支持到15位数字,所以,后面三位在EXCEL中都变成0了,如何解决这个问题?如果手工设置EXCEL为文本型,可以解决问题,但在程序中如何设置身份证号码那一列为文本型呢?盼赐教!

解决方案 »

  1.   

    Dim cnt As Integer
            Dim excel_name As String
            Dim xls As New Object
            Dim xbook As New Object
            Dim xsheet As New Object
            xls = CreateObject("excel.application")
            xbook = xls.Workbooks.Add
            xsheet = xbook.Worksheets("sheet1")
            'カーソルを砂時計に変更
            'Windows.Forms.Cursor.Current = Cursors.WaitCursor
            excel_name = "通話料金統計表"
            cnt = 1
            xsheet.Cells(cnt, 1) = "発信元電話番号"
            xsheet.Cells(cnt, 2) = "発信元名"
            xsheet.Cells(cnt, 3) = "通話回数"
            xsheet.Cells(cnt, 4) = "通話時間合計"
            xsheet.Cells(cnt, 5) = "通話料金"        cnt += 1
            'dim the column type
    '下面就是如何设置字符串类型的语句
            xsheet.Range("a:a").NumberFormatLocal = "@"
            xsheet.Range("b:b").NumberFormatLocal = "@"
            xsheet.Range("c:c").NumberFormatLocal = "@"
            xsheet.Range("d:d").NumberFormatLocal = "@"
            xsheet.Range("e:e").NumberFormatLocal = "#,##0"        ''    'フォントサイズの変更
            xsheet.Cells.Font.Size = 9