任何人都可以帮我解决这个问题,我无法理解,我正在使用此链接应用程序来解决这个问题,而且这个问题总会出现。
我正试图做的链接 http://www.aspdotnet-pools.com/2015/03/export-gridview-data-to-excel-sheet.html
这是图片
答案 0 :(得分:0)
//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;
}
}
}