将DataGridView导出为Excel格式 [英] Export DataGridView To Excel Format

查看:92
本文介绍了将DataGridView导出为Excel格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

朋友们,

由于我是C#.net的新手,所以我有一个DataGridView,我想将DataGridView的所有列导出到Excel文件...

Hi friends,

As i am new to C# .net, I have a DataGridView and i want to export all the columns of DataGridView To Excel file...

推荐答案

请参阅以下内容:

http://www.gridview.net/export-datagridview-to-excel-in-c / [^ ]

将DataGrid导出到Excel,Word和文本文件 [ ^ ]
Refer these:

http://www.gridview.net/export-datagridview-to-excel-in-c/[^]

Exporting DataGrid to Excel, Word and Text Files[^]


浏览这些
http://csharp.net-informations.com/excel/csharp-excel-datagridview.htm [^ ]

http://www.gridview.net/export-datagridview-to-excel-in-c / [^ ]

将DataGrid导出到Excel,Word和文本文件 [ ^ ]

http://www.c-sharpcorner.com/uploadfile /hrojasara/export-datagridview-to-excel-in-C-Sharp/ [
Go through these
http://csharp.net-informations.com/excel/csharp-excel-datagridview.htm[^]

http://www.gridview.net/export-datagridview-to-excel-in-c/[^]

Exporting DataGrid to Excel, Word and Text Files[^]

http://www.c-sharpcorner.com/uploadfile/hrojasara/export-datagridview-to-excel-in-C-Sharp/[^]


以下是我用来导出到excel的一些代码:

Here is some code I have used to export to excel:

private static void Excel(string fileName, List<IDirectoryInventoryDataCollector> list)
{
    try
    {
        var xlApp = new Excel.Application();
        var xlWorkBook = xlApp.Workbooks.Add();
        var xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
        ExcelTitleRow(list[0], 1, xlWorkSheet);

        int row = 2;
        foreach (var item in list)
        {
            ExcelFillRow(item, row++, xlWorkSheet);
        }

        for (int i = 1; i < list[0].MaxLevel - 1; i++)
        {
            ((Range)xlWorkSheet.Columns[i]).ColumnWidth = 2;
        }
        ((Range)xlWorkSheet.Columns[list[0].MaxLevel - 1]).ColumnWidth = 30;
        ((Range)xlWorkSheet.Rows[1]).WrapText = true;
        ((Range)xlWorkSheet.Rows[1]).HorizontalAlignment = HorizontalAlignment.Center;
        ((Range)xlWorkSheet.Cells[1, 1]).WrapText = false;

        xlWorkBook.SaveAs(fileName);
        xlWorkBook.Close();
        xlApp.Quit();
    }
    catch (AccessViolationException)
    {
        System.Windows.Forms.MessageBox.Show(
             "Have encountered access violation. This could be issue with Excel 2000 if that is only version installed on computer",
             "Access Violation");
    }
    catch (Exception)
    {
        System.Windows.Forms.MessageBox.Show("Unknown error",
             "Unknown error");
    }
}

private static void ExcelFillRow(IDirectoryInventoryDataCollector item, int row, Excel.Worksheet sheet)
{
    sheet.Cells[row, item.Level] = item.Name;
    int column = item.MaxLevel;
    foreach (var property in item.GetProperties())
    {
        sheet.Cells[row, column++] = property;
    }
}

private static void ExcelTitleRow(IDirectoryInventoryDataCollector item, int row, Excel.Worksheet sheet)
{
    sheet.Cells[row, 1] = "Name";
    int column = item.MaxLevel;
    foreach (var property in item.GetPropertyNames())
    {
        sheet.Cells[row, column++] = property;
    }
}


这篇关于将DataGridView导出为Excel格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆