注册 登录
编程论坛 VB6论坛

VB创建EXCLE表。添加sheet添加数据 保存EXCEL

zhuyongxing 发布于 2011-05-08 18:22, 1259 次点击
Dim xlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Add
xlApp.Sheets(1).Name = "报名学费收入"
Set xlSheet = xlBook.Worksheets("报名学费收入")
      xlSheet.Cells.EntireColumn.AutoFit     '自动调整列宽
    l="C:\1.xls"
     xlApp.ActiveWorkbook.SaveAs l, True
     xlApp.Visible = False
     xlBook.Close (True) '关闭工作簿
     xlApp.Quit '结束EXCEL对象
      Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing '释放xlApp对象
    MsgBox "导出成功", vbInformation, "提示"
在一个工作薄里可以如何添加一个工作薄
3 回复
#2
qq10235692232011-05-08 20:23
什么意思?怎么和C#差距那么大?
程序代码:
private void ExceToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Excel.Application ex = new Excel.Application();
            ex.Application.Workbooks.Add(Missing.Value);

            for (int m = 0; m < 100; m++)
            {
                Redata.Row = m;
                for (int n = 0; n < 3; n++)
                {
                    Redata.Col = n;
                    ex.Cells[m + 1, n + 1] = Redata.Text;
                }
                Redata.Row = m + 1;
                Redata.Col = 0;

                if (Redata.Text == string.Empty)
                                          break;
            }
                ex.Visible = false;
                ex.DisplayAlerts = false;
                try
                {
                    ex.Save("unuse");
                }
                catch (Exception)
                {
                  
                }
                finally
                {
                    ex.Application.Workbooks.Close();
                    ex.Application.Quit();
                    ex.Quit();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(ex);
                  
                     GC.Collect();
                    System.Diagnostics.Process[] killprocess = System.Diagnostics.Process.GetProcessesByName("EXCEL");
                    foreach (System.Diagnostics.Process p in killprocess)
                    {
                       p.Kill();
                    }
                }

        }



[ 本帖最后由 qq1023569223 于 2011-5-8 20:25 编辑 ]
#3
wube2011-05-08 21:06
在一个工作薄里可以如何添加一个工作薄
Add New Workbooks Code...

Set xlBook = xlApp.Workbooks.Add    'Add Workbooks
'or
程序代码:

    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    For i = 0 To 5
        Set xlBook = xlApp.Workbooks.Add
        Set xlBook = xlApp.Workbooks.Item("Book" & i + 1)   
    Next i


在一个工作薄里可以如何添加一个工作页
Add New Sheets Code...

Set xlsheet = xlBook.Sheets.Add     '预设3个超过要用
'or
程序代码:

    For j = 1 To 4
        If j > 3 Then
            Set xlsheet = xlBook.Sheets.Add
        Else
            Set xlsheet = xlBook.Sheets(j)
        End If
    Next j


[ 本帖最后由 wube 于 2011-5-8 21:16 编辑 ]
#4
e3bnsd2012-12-02 22:22
  顶顶
1