我做的是 将DataGridView里的数据 导出到Excel中,但是出现了这个错误
Microsoft.Office.Interop.Excel.Application objExcel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook objWorkbook = objExcel.Workbooks.Add(Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet objSheet = (Microsoft.Office.Interop.Excel.Worksheet)objWorkbook.ActiveSheet;
objExcel.Visible = false;
int displayColumnsCount = 1;
for (int i = 0; i <= dataGridView1.ColumnCount - 1; i++)
{
if (dataGridView1.Columns[i].Visible == true)
{
objExcel.Cells[1, displayColumnsCount] = dataGridView1.Columns[i].HeaderText.Trim();
displayColumnsCount++;
}
}
for (int row = 0; row <= dataGridView1.RowCount - 1; row++)
{
displayColumnsCount = 1;
for (int col = 0; col < columnscount; col++)
{
if (dataGridView1.Columns[col].Visible == true)
{ try
{
objExcel.Cells[row + 2, displayColumnsCount] = dataGridView1.Rows[row].Cells[col].Value.ToString().Trim();
displayColumnsCount++;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
} } } }
objWorkbook.SaveAs(FileNameString, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value);
MessageBox.Show(FileNameString + "\n\n导出完毕! ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information); 我感觉问题出现在 for (int row = 0; row <= dataGridView1.RowCount - 1; row++)
{
displayColumnsCount = 1;
for (int col = 0; col < columnscount; col++)
{
if (dataGridView1.Columns[col].Visible == true)
{ try
{
objExcel.Cells[row + 2, displayColumnsCount] = dataGridView1.Rows[row].Cells[col].Value.ToString().Trim();
displayColumnsCount++;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
} } }
这个循环中 ,请问 大家有遇到的么~~怎么解决啊
Microsoft.Office.Interop.Excel.Application objExcel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook objWorkbook = objExcel.Workbooks.Add(Missing.Value);
Microsoft.Office.Interop.Excel.Worksheet objSheet = (Microsoft.Office.Interop.Excel.Worksheet)objWorkbook.ActiveSheet;
objExcel.Visible = false;
int displayColumnsCount = 1;
for (int i = 0; i <= dataGridView1.ColumnCount - 1; i++)
{
if (dataGridView1.Columns[i].Visible == true)
{
objExcel.Cells[1, displayColumnsCount] = dataGridView1.Columns[i].HeaderText.Trim();
displayColumnsCount++;
}
}
for (int row = 0; row <= dataGridView1.RowCount - 1; row++)
{
displayColumnsCount = 1;
for (int col = 0; col < columnscount; col++)
{
if (dataGridView1.Columns[col].Visible == true)
{ try
{
objExcel.Cells[row + 2, displayColumnsCount] = dataGridView1.Rows[row].Cells[col].Value.ToString().Trim();
displayColumnsCount++;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
} } } }
objWorkbook.SaveAs(FileNameString, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value);
MessageBox.Show(FileNameString + "\n\n导出完毕! ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information); 我感觉问题出现在 for (int row = 0; row <= dataGridView1.RowCount - 1; row++)
{
displayColumnsCount = 1;
for (int col = 0; col < columnscount; col++)
{
if (dataGridView1.Columns[col].Visible == true)
{ try
{
objExcel.Cells[row + 2, displayColumnsCount] = dataGridView1.Rows[row].Cells[col].Value.ToString().Trim();
displayColumnsCount++;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
} } }
这个循环中 ,请问 大家有遇到的么~~怎么解决啊
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货