簡體   English   中英

將datagridview數據寫入excel表格不起作用vb

[英]Writing datagridview data to excel sheet not working vb

我正在嘗試使用 vb 將我的 datagridview 導出到 Excel 表。 我可以保存excel文件並命名它,但我打開excel文件,它是空白的,只有工作表名稱。 這是我的代碼:

Private Sub exportDGVToExcel_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim app As _Application = New Application()
    Dim wb As _Workbook = app.Workbooks.Add(Type.Missing)
    Dim ws1 As _Worksheet
    ws1 = wb.Sheets("Sheet1")
    ws1 = wb.ActiveSheet
    ws1.Name = "First Sheet"
    For i As Integer = 0 To DataGridView1.Columns.Count - 1
        ws1.Cells(i, 1) = DataGridView1.Columns(i - 1).HeaderText
    Next i
    For i As Integer = 0 To DataGridView1.Rows.Count - 1
        For j As Integer = 0 To DataGridView1.Columns.Count - 1
            ws1.Cells(i + 1, j) = DataGridView1.Rows(i).Cells(j).Value.ToString()
        Next j
    Next i
    Dim file As New SaveFileDialog()
    file.FileName = "test"
    file.DefaultExt = ".xlsx"
    If file.ShowDialog() = DialogResult.OK Then
        wb.SaveAs(file.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing)
    End If
    app.Quit()
End Sub

提前致謝!

嘗試這個。 應該很容易翻譯成VB。 如果您需要幫助,請告訴我。

internal  static void ToCSV_File(ref DataGridView dgv, string filename = "")
    {
        StringBuilder sb = new StringBuilder();
        string quote = "\"";

        //Headers
        int i = 0;
        foreach (DataGridViewColumn col in dgv.Columns)
        {
            if (i > 0)
            {
                sb.Append(",");
            }
            sb.Append(quote + col.HeaderText + quote);
            i++;
        }

        sb.AppendLine();

        int r = 0;
        int c = 0;
        foreach (DataGridViewRow dr in dgv.Rows)
        {
            foreach (DataGridViewColumn col in dgv.Columns)
            {
                if (c > 0)
                {
                    sb.Append(",");
                }

                sb.Append(quote + dr.Cells[col.Index].Value + quote);
                c++;
            }

            c = 0;

            sb.AppendLine();
            r++;
        }

        if (String.IsNullOrEmpty(filename))
        {
            filename = Path.GetRandomFileName() + ".csv";
            string folder = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache);

            filename = folder + @"\" + filename;
        }


        File.WriteAllText(filename, sb.ToString());
        System.Diagnostics.Process.Start(filename);

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM