简体   繁体   English

c#将datagridview值导出到excel

[英]c# Export datagridview values to excel

在此处输入图片说明

Any one help me to with this problem, I can't really understand, I'm using this link application for this program, and this problem always appear. 任何人都无法帮助我解决这个问题,我真的无法理解,我正在为此程序使用此链接应用程序,并且始终会出现此问题。

Hhere is the link that I'm trying to do http://www.aspdotnet-pools.com/2015/03/export-gridview-data-to-excel-sheet.html 这是我正在尝试做的链接http://www.aspdotnet-pools.com/2015/03/export-gridview-data-to-excel-sheet.html

here is the picture 这是图片

//Try some thing like this...  
  using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Data.Sql;
    using System.Data.SqlClient;
    using System.Configuration;


            void ExportTOExcel(DataGridView gridviewID)
            {


                Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();

                Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
                Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
                object misValue = System.Reflection.Missing.Value;

                xlApp = new Microsoft.Office.Interop.Excel.Application();
                xlWorkBook = xlApp.Workbooks.Add(misValue);
                xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

                //add data 
                int StartCol = 1;`enter code here`
                int StartRow = 1;
                int j = 0, i = 0;

                //Write Headers
                for (j = 0; j < gridviewID.Columns.Count; j++)
                {
                    Microsoft.Office.Interop.Excel.Range myRange = (Microsoft.Office.Interop.Excel.Range)xlWorkSheet.Cells[StartRow, StartCol + j];
                    myRange.Value2 = gridviewID.Columns[j].HeaderText;
                }

                StartRow++;

                //Write datagridview content
                for (i = 0; i < gridviewID.Rows.Count; i++)
                {
                    for (j = 0; j < gridviewID.Columns.Count; j++)
                    {
                        try
                        {
                            Microsoft.Office.Interop.Excel.Range myRange = (Microsoft.Office.Interop.Excel.Range)xlWorkSheet.Cells[StartRow + i, StartCol + j];
                            myRange.Value2 = gridviewID[j, i].Value == null ? "" : gridviewID[j, i].Value;
                        }
                        catch
                        {
                            ;
                        }
                    }
                }

                Microsoft.Office.Interop.Excel.Range chartRange;

                Microsoft.Office.Interop.Excel.ChartObjects xlCharts = (Microsoft.Office.Interop.Excel.ChartObjects)xlWorkSheet.ChartObjects(Type.Missing);
                Microsoft.Office.Interop.Excel.ChartObject myChart = (Microsoft.Office.Interop.Excel.ChartObject)xlCharts.Add(10, 80, 300, 250);
                Microsoft.Office.Interop.Excel.Chart chartPage = myChart.Chart;

                chartRange = xlWorkSheet.get_Range("A1", "B" + gridviewID.Rows.Count);
                chartPage.SetSourceData(chartRange, misValue);
                chartPage.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlColumnClustered;

                xlApp.Visible = true;

            }

        }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM