使用SQl语句可以吗?我没有试过,估计是可以的吧!你问一下高手!

解决方案 »

  1.   

    具体操作如下:(注:首先需添加引用,选择COM-->选择Microsoft Word 10.0 Object Library和Microsoft Excel 10.0 Object Library组件) 1.先创建一个DataTable,作为数据来源,也可以另将其它的数据源。    Private Function CreaTable() As DataTable        Dim dt As New DataTable()        dt.Columns.Add("列1", GetType(String))        dt.Columns.Add("列2", GetType(Integer))        dt.Columns.Add("列3", GetType(String))        dt.Columns.Add("列4", GetType(String))        Dim row, row1 As DataRow        row = dt.NewRow()        row!列1 = "行1"        row!列2 = 1        row!列3 = "d"        row!列4 = "a"        dt.Rows.Add(row)        row1 = dt.NewRow()        row1!列1 = "行2"        row1!列2 = 12        row1!列3 = "b"        row1!列4 = "c"        dt.Rows.Add(row1)        Return dt    End Function 2.将表中的内容导出到Excel                Dim xlApp As New Excel.Application()                Dim xlBook As Excel.Workbook                Dim xlSheet As Excel.Worksheet                 Dim rowIndex, colIndex As Integer                rowIndex = 1                colIndex = 0                 xlBook = xlApp.Workbooks().Add                xlSheet = xlBook.Worksheets("sheet1")                 Dim Table As New DataTable()                Table = CreaTable()                 '将所得到的表的列名,赋值给单元格                Dim Col As DataColumn                Dim Row As DataRow                For Each Col In Table.Columns                    colIndex = colIndex + 1                    xlApp.Cells(1, colIndex) = Col.ColumnName                Next                 '得到的表所有行,赋值给单元格                For Each Row In Table.Rows                    rowIndex = rowIndex + 1                    colIndex = 0                    For Each Col In Table.Columns                        colIndex = colIndex + 1                        xlApp.Cells(rowIndex, colIndex) = Row(Col.ColumnName)                    Next                Next                 With xlSheet                    .Range(.Cells(1, 1), .Cells(1, colIndex)).Font.Name = "黑体"                    '设标题为黑体字                    .Range(.Cells(1, 1), .Cells(1, colIndex)).Font.Bold = True                    '标题字体加粗                    .Range(.Cells(1, 1), .Cells(rowIndex, colIndex)).Borders.LineStyle = 1                    '设表格边框样式                End With                 With xlSheet.PageSetup                    .LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:"   ' & Gsmc                    .CenterHeader = "&""楷体_GB2312,常规""公司人员情况表&""宋体,常规""" & Chr(10) & "&""楷体_GB2312,常规""&10日 期:"                    .RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:"                    .LeftFooter = "&""楷体_GB2312,常规""&10制表人:"                    .CenterFooter = "&""楷体_GB2312,常规""&10制表日期:"                    .RightFooter = "&""楷体_GB2312,常规""&10第&P页 共&N页"                End With                 xlApp.Visible = True  3.将表中的内容导出到WORD                Dim wordApp As New Word.Application()                Dim myDoc As Word.Document                Dim oTable As Word.Table                 Dim rowIndex, colIndex As Integer                rowIndex = 1                colIndex = 0                 wordApp.Documents.Add()                myDoc = wordApp.ActiveDocument                 Dim Table As New DataTable()                Table = CreaTable()                 oTable = myDoc.Tables.Add(Range:=myDoc.Range(Start:=0, End:=0), NumRows:=Table.Rows.Count + 1, NumColumns:=Table.Columns.Count)                 '将所得到的表的列名,赋值给单元格                Dim Col As DataColumn                Dim Row As DataRow                For Each Col In Table.Columns                    colIndex = colIndex + 1                    oTable.Cell(1, colIndex).Range.InsertAfter(Col.ColumnName)                Next                 '得到的表所有行,赋值给单元格                For Each Row In Table.Rows                    rowIndex = rowIndex + 1                    colIndex = 0                    For Each Col In Table.Columns                        colIndex = colIndex + 1                        oTable.Cell(rowIndex, colIndex).Range.InsertAfter(Row(Col.ColumnName))                    Next                Next                 oTable.Borders.InsideLineStyle = 1                   oTable.Borders.OutsideLineStyle = 1                 wordApp.Visible = True
      

  2.   

    用owc吧﹐﹐在服務器生成owc的htmldata,在客戶端用腳本導出excel
      

  3.   

    sample:<OBJECT style='display:none' classid=clsid:0002E510-0000-0000-C000-000000000046 id=EXPORT_OBJECT></Object>
    <table id="execlData">
    <tr><td>asdfs</td></tr>
    <tr><td>asdfs</td></tr></table><script>
    with (EXPORT_OBJECT)
    {
    if (Cells!=null) Cells.Clear(); DataType = "HTMLData";
    HTMLData =execlData.outerHTML;
    try
    {
    ActiveSheet.Export("C:\\HTMLData.xls", 0);
    }
    catch (e){ }
    }
    </script>
      

  4.   

    如果想创建完成后直接用EXCEL打开,就用
    ActiveSheet.Export("C:\\HTMLData.xls", 1);
      

  5.   

    我试一试,这样能控制写入excel中的格式吗.
      

  6.   

    这种方式的确可以。我想在单击一个命令按钮之后,生成excel文件,应该怎么做呢。