20070924 excel vb 版本
http://www.yippeesoft.com

vb引用EXCEL:

和普通的数据库操作差不多 
  strFilename="d:\\123.xls" 
  strSheetName="table" 
  strRange="A1:IV1" 
  
  Set   cn   =   New   ADODB.Connection 
  cn.Open   "Provider=Microsoft.Jet.OLEDB.4.0;Persist   Security   Info=False;Data   Source="   &   strFileName   &   ";Extended   Properties=\’Excel   8.0;HDR=No\’" 
  
  Set   ra   =   New   ADODB.Recordset 
  ra.Open   "select   *   from   ["   &   strSheetName   &   "$"   &   strRange   &   "]",   cn,   adOpenStatic,adLockPessimistic 
  
  ra.addnew 
  ra.fields(0)="daf" 
  .. 
  ra.update  

  Dim   excl   As   excel.Application 
  Dim   xlBook   As   excel.Workbook 
  Dim   xlSheet   As   excel.Worksheet 
  Dim   fso   As   New   FileSystemObject 
  Set   excl   =   New   excel.Application 
  xlSheet.SaveAs   (App.path   &   "\\aa87.xls") 
  Set   excl   =   CreateObject("Excel.Application") 
  excl.Workbooks.add 
  et   xlSheet   =   excl.Workbooks(1).Worksheets("Sheet1") 
  xlSheet.Activate 
  xlSheet.SaveAs   (App.path   &   "\\aa87.xls") 
  Set   xlBook   =   excl.Workbooks.add(App.path   &   "\\aa87.xls") 
  Set   xlSheet   =   xlBook.Worksheets(1) 
  dim   i   as   integer 
  dim   s   as   string 
  for   i=1   to   xx.length 
          xlSheet.Cells(1,   i)   =   s 
  next 
  xlBook.Close   (True)   \’关闭EXCEL工作簿 
  excl.Quit   \’关闭EXCEL 
  Set   excl   =   Nothing 
  Set   xlSheet   =   Nothing

  说简单一点就是四步三种操作 
  Dim   xlsReport   As   Excel.Application                           \’定义变量 
  xls.Workbooks.Open   App.Path   &   "\\文件名.xls"         \’打开文件 
  xls.Worksheets(1).Range("A1")="你的变量"               \’向A1单元格写入数据 
  xls.Workbooks(1).SaveAs   FileName:=str_File           \’保存文件

我在本机上装了office   2003   在vb中可以执行createobject(excel.application),但是当我将程序放到另外一台装了   office   2002   的机子中运行原来一样的程序时,createobject(excel.application)这句就不能执行了。老是报“dll无法找到” 
  createobject(excel.application)这句应该怎么改呢?请高手指点。
  原来在vb中使用createobject(excel.application)的时候是不需要添加引用“Microsoft   Excel   11.0   Object   Library”的。vb程序可以自动创建对象,并且原来在程序中使用的 
          Dim   xlsApp   As   Excel.Application 
          Dim   xlsBook   As   Excel.Workbook 
          Dim   xlsSheet   As   Excel.Worksheet 
  也不需要了。并且可以适合任何版本的office  

  char szFilter[]="Bin files(*.*)&line;*.*";
 CFileDialog dlg(1,NULL,NULL,NULL,szFilter);
 if(dlg.DoModal()==IDOK)
 &leftsign;
  m_file = dlg.GetPathName();
  UpdateData(FALSE);
 &rightsign;

 \’ <summary>
    \’  读取Excel文件
    \’ </summary>
    \’ <param name="dt">要转换为Excel文件的表</param>
    \’ <param name="page">页面Page对象,用法: 将me.Page传递过来即可</param>
    \’ <return>数据集DataSet</return>
    Public Function ReadExcelFileToDataSet(ByVal strFileName As String) As DataSet
        Try

            \’建立一个专门存放Excel文件的目录
            If Directory.Exists(Page.Server.MapPath("ExcelFolder")) = False Then
                Directory.CreateDirectory(Page.Server.MapPath("ExcelFolder"))
            End If

            Dim strConn As String
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" &

Page.Server.MapPath(".") & "ExcelFolder" & strFileName & ";" & "Extended

Properties=Excel 8.0;"
            Dim conn As OleDb.OleDbConnection = New OleDb.OleDbConnection(strConn)
            Dim strExcel As String = "select * from [sheet1$]"
            Dim ds As DataSet = New DataSet
            conn.Open()
            Dim adapter As OleDbDataAdapter = New OleDbDataAdapter(strExcel, strConn)
            adapter.Fill(ds)
            Return ds
        Catch ex As Exception
            Throw ex
        End Try
    End Function

历史博文

标签:, ,
六月 12, 2008 at 5:35 下午 by yippee 1,001 次
Category: Info
Tags: , ,