想生成如下数据:然后去和数据库中的数据比较,如果数据库中的数据有两个号相同(比如:001、100、996等)并且包括在当前数据中,那就在屏幕上打印出来。例如01234在数据库里的没有相同的,就PASS。01235与数据库里第12行的505相同,就打印出来。
生成的数据:
01234
01235
01236
01237
01238
01239
01245
01246
01247
01248
01249
01256
01257
01258
01259
01267
01268
01269
01278
01279
01289
01345
01346
01347
01348
01349
01356
01357
01358
01359
01367
01368
01369
01378
01379
01389
01456
01457
01458
01459
01467
01468
01469
01478
01479
01489
01567
01568
01569
01578
01579
01589
01678
01679
01689
01789
02345
02346
02347
02348
02349
02356
02357
02358
02359
02367
02368
02369
02378
02379
02389
02456
02457
02458
02459
02467
02468
02469
02478
02479
02489
02567
02568
02569
02578
02579
02589
02678
02679
02689
02789
03456
03457
03458
03459
03467
03468
03469
03478
03479
03489
03567
03568
03569
03578
03579
03589
03678
03679
03689
03789
04567
04568
04569
04578
04579
04589
04678
04679
04689
04789
05678
05679
05689
05789
06789
12345
12346
12347
12348
12349
12356
12357
12358
12359
12367
12368
12369
12378
12379
12389
12456
12457
12458
12459
12467
12468
12469
12478
12479
12489
12567
12568
12569
12578
12579
12589
12678
12679
12689
12789
13456
13457
13458
13459
13467
13468
13469
13478
13479
13489
13567
13568
13569
13578
13579
13589
13678
13679
13689
13789
14567
14568
14569
14578
14579
14589
14678
14679
14689
14789
15678
15679
15689
15789
16789
23456
23457
23458
23459
23467
23468
23469
23478
23479
23489
23567
23568
23569
23578
23579
23589
23678
23679
23689
23789
24567
24568
24569
24578
24579
24589
24678
24679
24689
24789
25678
25679
25689
25789
26789
34567
34568
34569
34578
34579
34589
34678
34679
34689
34789
35678
35679
35689
35789
36789
45678
45679
45689
45789
46789
56789
数据库中的数据:
591
871
886
618
621
363
075
256
120
362
378
505
995
374
009
325
425

解决方案 »

  1.   

    全面控制 Excel
    首先创建 Excel 对象,使用ComObj:
    Dim ExcelID as Excel.Application
    Set ExcelID as new Excel.Application
    1) 显示当前窗口:
    ExcelID.Visible := True;
    2) 更改 Excel 标题栏:
    ExcelID.Caption := '应用程序调用 Microsoft Excel';
    3) 添加新工作簿:
      ExcelID.WorkBooks.Add;
    4) 打开已存在的工作簿:
      ExcelID.WorkBooks.Open( 'C:\Excel\Demo.xls' );
    5) 设置第2个工作表为活动工作表:
      ExcelID.WorkSheets[2].Activate;  
     或 ExcelID.WorkSheets[ 'Sheet2' ].Activate;
    6) 给单元格赋值:
     ExcelID.Cells[1,4].Value := '第一行第四列';
    7) 设置指定列的宽度(单位:字符个数),以第一列为例:
     ExcelID.ActiveSheet.Columns[1].ColumnsWidth := 5;
    8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
      ExcelID.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
    9) 在第8行之前插入分页符:
      ExcelID.WorkSheets[1].Rows[8].PageBreak := 1;
    参考代码:ActiveSheet.HPageBreaks(1).Location = Range("A22")
    10) 在第8列之前删除分页符:
      ExcelID.ActiveSheet.Columns[4].PageBreak := 0;
    11) 指定边框线宽度:
     ExcelID.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
       1-左    2-右   3-顶    4-底   5-斜( \ )     6-斜( / )
    12) 清除第一行第四列单元格公式:
     ExcelID.ActiveSheet.Cells[1,4].ClearContents;
    13) 设置第一行字体属性:
    ExcelID.ActiveSheet.Rows[1].Font.Name := '隶书';
    ExcelID.ActiveSheet.Rows[1].Font.Color  := clBlue;
    ExcelID.ActiveSheet.Rows[1].Font.Bold   := True;
    ExcelID.ActiveSheet.Rows[1].Font.UnderLine := True;
    14) 进行页面设置:
      a.页眉:
        ExcelID.ActiveSheet.PageSetup.CenterHeader := '报表演示';
      b.页脚:
        ExcelID.ActiveSheet.PageSetup.CenterFooter := '第&P页';
      c.页眉到顶端边距2cm:
        ExcelID.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
      d.页脚到底端边距3cm:
        ExcelID.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
      e.顶边距2cm:
        ExcelID.ActiveSheet.PageSetup.TopMargin := 2/0.035;
      f.底边距2cm:
        ExcelID.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
      g.左边距2cm:
        ExcelID.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
      h.右边距2cm:
        ExcelID.ActiveSheet.PageSetup.RightMargin := 2/0.035;
      i.页面水平居中:
        ExcelID.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
      j.页面垂直居中:
        ExcelID.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
      k.打印单元格网线:
        ExcelID.ActiveSheet.PageSetup.PrintGridLines := True;
    15) 拷贝操作:
      a.拷贝整个工作表:
        ExcelID.ActiveSheet.Used.Range.Copy;
      b.拷贝指定区域:
        ExcelID.ActiveSheet.Range[ 'A1:E2' ].Copy;
      c.从A1位置开始粘贴:
        ExcelID.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
      d.从文件尾部开始粘贴:
        ExcelID.ActiveSheet.Range.PasteSpecial;
    16) 插入一行或一列:
       a. ExcelID.ActiveSheet.Rows[2].Insert;
       b. ExcelID.ActiveSheet.Columns[1].Insert;
    17) 删除一行或一列:
      a. ExcelID.ActiveSheet.Rows[2].Delete;
      b. ExcelID.ActiveSheet.Columns[1].Delete;
    18) 打印预览工作表:
      ExcelID.ActiveSheet.PrintPreview;
    19) 打印输出工作表:
      ExcelID.ActiveSheet.PrintOut;
    20) 工作表保存:
     If not ExcelID.ActiveWorkBook.Saved then
       ExcelID.ActiveSheet.PrintPreview
       End if
    21) 工作表另存为:
      ExcelID.SaveAs( 'C:\Excel\Demo1.xls' );
    22) 放弃存盘:
     ExcelID.ActiveWorkBook.Saved := True;
    23) 关闭工作簿:
     ExcelID.WorkBooks.Close;
    24) 退出 Excel:
    ExcelID.Quit;
    25) 设置工作表密码:
    ExcelID.ActiveSheet.Protect "123", DrawingObjects:=True, Contents:=True, Scenarios:=True
    26)  EXCEL的显示方式为最大化
    ExcelID.Application.WindowState = xlMaximized    
    27) 工作薄显示方式为最大化
    ExcelID.ActiveWindow.WindowState = xlMaximized  
    28) 设置打开默认工作薄数量
    ExcelID.SheetsInNewWorkbook = 3
    29) '关闭时是否提示保存(true 保存;false 不保存)
    ExcelID.DisplayAlerts = False  
    30) 设置拆分窗口,及固定行位置
    ExcelID.ActiveWindow.SplitRow = 1
    ExcelID.ActiveWindow.FreezePanes = True
    31) 设置打印时固定打印内容
    ExcelID.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"  
    32) 设置打印标题
    ExcelID.ActiveSheet.PageSetup.PrintTitleColumns = ""   
    33) 设置显示方式(分页方式显示)
    ExcelID.ActiveWindow.View = xlPageBreakPreview  
    34) 设置显示比例
    ExcelID.ActiveWindow.Zoom = 100                 
    35) 让Excel 响应 DDE 请求
    Ex.Application.IgnoreRemoteRequests = False用VB操作EXCEL
    Private Sub Command3_Click()
       On Error GoTo err1
       Dim i As Long
       Dim j As Long
       Dim objExl As Excel.Application   '声明对象变量
       Me.MousePointer = 11            '改变鼠标样式
       Set objExl = New Excel.Application '初始化对象变量
       objExl.SheetsInNewWorkbook = 1  '将新建的工作薄数量设为1
       objExl.Workbooks.Add          '增加一个工作薄
       objExl.Sheets(objExl.Sheets.Count).Name = "book1"  '修改工作薄名称
       objExl.Sheets.Add , objExl.Sheets("book1") '增加第二个工作薄在第一个之后
       objExl.Sheets(objExl.Sheets.Count).Name = "book2"
       objExl.Sheets.Add , objExl.Sheets("book2") '增加第三个工作薄在第二个之后
       objExl.Sheets(objExl.Sheets.Count).Name = "book3"   objExl.Sheets("book1").Select     '选中工作薄<book1>
       For i = 1 To 50                   '循环写入数据
          For j = 1 To 5
             If i = 1 Then
                objExl.Selection.NumberFormatLocal = "@"  '设置格式为文本
                objExl.Cells(i, j) = " E " & i & j
             Else
                objExl.Cells(i, j) = i & j
             End If
          Next
       Next
       objExl.Rows("1:1").Select         '选中第一行
       objExl.Selection.Font.Bold = True   '设为粗体
       objExl.Selection.Font.Size = 24     '设置字体大小
       objExl.Cells.EntireColumn.AutoFit  '自动调整列宽
       objExl.ActiveWindow.SplitRow = 1  '拆分第一行
       objExl.ActiveWindow.SplitColumn = 0   '拆分列
       objExl.ActiveWindow.FreezePanes = True   '固定拆分   objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"  '设置打印固定行
       objExl.ActiveSheet.PageSetup.PrintTitleColumns = ""    '打印标题    objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _
                                                        Format(Now, "yyyy年mm月dd日 hh:MM:ss")
       objExl.ActiveWindow.View = xlPageBreakPreview    '设置显示方式
       objExl.ActiveWindow.Zoom = 100                 '设置显示大小
       objExl.ActiveSheet.PageSetup.Orientation = xlLandscape  '设置打印方向(横向)
       '给工作表加密码
       objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _
                                  Contents:=True, Scenarios:=True
       objExl.Application.IgnoreRemoteRequests = False
       objExl.Visible = True                       '使EXCEL可见
       objExl.Application.WindowState = xlMaximized 'EXCEL的显示方式为最大化
       objExl.ActiveWindow.WindowState = xlMaximized '工作薄显示方式为最大化
       objExl.SheetsInNewWorkbook = 3           '将默认新工作薄数量改回3个
       Set objExl = Nothing    '清除对象
       Me.MousePointer = 0   '修改鼠标
       Exit Sub
    err1:
       objExl.SheetsInNewWorkbook = 3
       objExl.DisplayAlerts = False  '关闭时不提示保存
       objExl.Quit                '关闭EXCEL
       objExl.DisplayAlerts = True   '关闭时提示保存
       Set objExl = Nothing
       Me.MousePointer = 0
    End Sub
      

  2.   

    你上面给出的程序是不是把TXT转换成EXCEL的呀
      

  3.   

    设ta为你的5位数的数据 的表
    tb 3位数数据 的表
    select s1,s2 from ta,tb 
    where 
    (
    (left(s2,1)=right(s2,1))
    or (left(s2,1)=substring(s2,2,1))
    or (right(s2,1)=substring(s2,2,1))
    )
    and
    (
    (charindex(left(s2,1),s1)>0)
    and
    (charindex(right(s2,1),s1)>0)
    and
    (charindex(substring(s2,2,1),s1)>0)
    )
    输出结果:
    s1      s2
    01239 009
    01249 009
    01259 009
    01269 009
    01279 009
    01289 009
    01349 009
    01359 009
    01369 009
    01379 009
    01389 009
    01459 009
    01469 009
    01479 009
    01489 009
    01569 009
    01579 009
    01589 009
    01679 009
    01689 009
    01789 009
    02349 009
    02359 009
    02369 009
    02379 009
    02389 009
    02459 009
    02469 009
    02479 009
    02489 009
    02569 009
    02579 009
    02589 009
    02679 009
    02689 009
    02789 009
    03459 009
    03469 009
    03479 009
    03489 009
    03569 009
    03579 009
    03589 009
    03679 009
    03689 009
    03789 009
    04569 009
    04579 009
    04589 009
    04679 009
    04689 009
    04789 009
    05679 009
    05689 009
    05789 009
    06789 009
    01236 363
    01346 363
    01356 363
    01367 363
    01368 363
    01369 363
    02346 363
    02356 363
    02367 363
    02368 363
    02369 363
    03456 363
    03467 363
    03468 363
    03469 363
    03567 363
    03568 363
    03569 363
    03678 363
    03679 363
    03689 363
    12346 363
    12356 363
    12367 363
    12368 363
    12369 363
    13456 363
    13467 363
    13468 363
    13469 363
    13567 363
    13568 363
    13569 363
    13678 363
    13679 363
    13689 363
    23456 363
    23467 363
    23468 363
    23469 363
    23567 363
    23568 363
    23569 363
    23678 363
    23679 363
    23689 363
    34567 363
    34568 363
    34569 363
    34678 363
    34679 363
    34689 363
    35678 363
    35679 363
    35689 363
    36789 363
    01235 505
    01245 505
    01256 505
    01257 505
    01258 505
    01259 505
    01345 505
    01356 505
    01357 505
    01358 505
    01359 505
    01456 505
    01457 505
    01458 505
    01459 505
    01567 505
    01568 505
    01569 505
    01578 505
    01579 505
    01589 505
    02345 505
    02356 505
    02357 505
    02358 505
    02359 505
    02456 505
    02457 505
    02458 505
    02459 505
    02567 505
    02568 505
    02569 505
    02578 505
    02579 505
    02589 505
    03456 505
    03457 505
    03458 505
    03459 505
    03567 505
    03568 505
    03569 505
    03578 505
    03579 505
    03589 505
    04567 505
    04568 505
    04569 505
    04578 505
    04579 505
    04589 505
    05678 505
    05679 505
    05689 505
    05789 505
    01268 886
    01368 886
    01468 886
    01568 886
    01678 886
    01689 886
    02368 886
    02468 886
    02568 886
    02678 886
    02689 886
    03468 886
    03568 886
    03678 886
    03689 886
    04568 886
    04678 886
    04689 886
    05678 886
    05689 886
    06789 886
    12368 886
    12468 886
    12568 886
    12678 886
    12689 886
    13468 886
    13568 886
    13678 886
    13689 886
    14568 886
    14678 886
    14689 886
    15678 886
    15689 886
    16789 886
    23468 886
    23568 886
    23678 886
    23689 886
    24568 886
    24678 886
    24689 886
    25678 886
    25689 886
    26789 886
    34568 886
    34678 886
    34689 886
    35678 886
    35689 886
    36789 886
    45678 886
    45689 886
    46789 886
    56789 886
    01259 995
    01359 995
    01459 995
    01569 995
    01579 995
    01589 995
    02359 995
    02459 995
    02569 995
    02579 995
    02589 995
    03459 995
    03569 995
    03579 995
    03589 995
    04569 995
    04579 995
    04589 995
    05679 995
    05689 995
    05789 995
    12359 995
    12459 995
    12569 995
    12579 995
    12589 995
    13459 995
    13569 995
    13579 995
    13589 995
    14569 995
    14579 995
    14589 995
    15679 995
    15689 995
    15789 995
    23459 995
    23569 995
    23579 995
    23589 995
    24569 995
    24579 995
    24589 995
    25679 995
    25689 995
    25789 995
    34569 995
    34579 995
    34589 995
    35679 995
    35689 995
    35789 995
    45679 995
    45689 995
    45789 995
    56789 995
      

  4.   

    或者只要满足条件的不重复的5位数列
    select distinct s1 from ta,tb 
    where 
    (
    (left(s2,1)=right(s2,1))
    or (left(s2,1)=substring(s2,2,1))
    or (right(s2,1)=substring(s2,2,1))
    )
    and
    (
    (charindex(left(s2,1),s1)>0)
    and
    (charindex(right(s2,1),s1)>0)
    and
    (charindex(substring(s2,2,1),s1)>0)
    )
    结果
    s1
    01235
    01236
    01239
    01245
    01249
    01256
    01257
    01258
    01259
    01268
    01269
    01279
    01289
    01345
    01346
    01349
    01356
    01357
    01358
    01359
    01367
    01368
    01369
    01379
    01389
    01456
    01457
    01458
    01459
    01468
    01469
    01479
    01489
    01567
    01568
    01569
    01578
    01579
    01589
    01678
    01679
    01689
    01789
    02345
    02346
    02349
    02356
    02357
    02358
    02359
    02367
    02368
    02369
    02379
    02389
    02456
    02457
    02458
    02459
    02468
    02469
    02479
    02489
    02567
    02568
    02569
    02578
    02579
    02589
    02678
    02679
    02689
    02789
    03456
    03457
    03458
    03459
    03467
    03468
    03469
    03479
    03489
    03567
    03568
    03569
    03578
    03579
    03589
    03678
    03679
    03689
    03789
    04567
    04568
    04569
    04578
    04579
    04589
    04678
    04679
    04689
    04789
    05678
    05679
    05689
    05789
    06789
    12346
    12356
    12359
    12367
    12368
    12369
    12459
    12468
    12568
    12569
    12579
    12589
    12678
    12689
    13456
    13459
    13467
    13468
    13469
    13567
    13568
    13569
    13579
    13589
    13678
    13679
    13689
    14568
    14569
    14579
    14589
    14678
    14689
    15678
    15679
    15689
    15789
    16789
    23456
    23459
    23467
    23468
    23469
    23567
    23568
    23569
    23579
    23589
    23678
    23679
    23689
    24568
    24569
    24579
    24589
    24678
    24689
    25678
    25679
    25689
    25789
    26789
    34567
    34568
    34569
    34579
    34589
    34678
    34679
    34689
    35678
    35679
    35689
    35789
    36789
    45678
    45679
    45689
    45789
    46789
    56789