c#导出datagridview值为excel

在这里输入图像说明

任何人都可以帮助我解决这个问题,我真的不明白,我正在使用这个链接应用程序,这个问题总是出现。

这里是我试图做的链接http://www.aspdotnet-pools.com/2015/03/export-gridview-data-to-excel-sheet.html

这是图片

//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; } } }