haghighat-62
یک شنبه 28 تیر 1388, 22:15 عصر
دوستان عزیز سلام من برای ارسال محتویات دیتا گرید ویو به excel از کد زیر استفاده کردم اما وقتی اجرا میکنم error منطقی Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) را میگیرد از اساتید محترم خواهش میکنم بفرمایید اشکال کجاست؟ البته در ابتدا در Add Reference و در تب Com گزینه های زیر را add کردم Microsoft Excel 11 object Lib 2- Microsoft Office 11 object lib1-
Excel.ApplicationClass excel = new ApplicationClass();
excel.Application.Workbooks.Add(true);
int ColumnIndex = 0;
foreach (DataGridViewColumn col in dgv.Columns)
{
ColumnIndex++;
excel.Cells[1, ColumnIndex] = col.HeaderText;
}
int rowIndex = 0;
string val;
foreach (DataGridViewRow row in dgv.Rows)
{
rowIndex++;
ColumnIndex = 0;
foreach (DataGridViewColumn col in dgv.Columns)
{
ColumnIndex++;
if (row.Cells[ColumnIndex - 1].Value == null)
val = "";
else
val = row.Cells[ColumnIndex - 1].Value.ToString();
excel.Cells[rowIndex + 1, ColumnIndex] = val;
}
}
excel.Visible = true;
[/quote
Excel.ApplicationClass excel = new ApplicationClass();
excel.Application.Workbooks.Add(true);
int ColumnIndex = 0;
foreach (DataGridViewColumn col in dgv.Columns)
{
ColumnIndex++;
excel.Cells[1, ColumnIndex] = col.HeaderText;
}
int rowIndex = 0;
string val;
foreach (DataGridViewRow row in dgv.Rows)
{
rowIndex++;
ColumnIndex = 0;
foreach (DataGridViewColumn col in dgv.Columns)
{
ColumnIndex++;
if (row.Cells[ColumnIndex - 1].Value == null)
val = "";
else
val = row.Cells[ColumnIndex - 1].Value.ToString();
excel.Cells[rowIndex + 1, ColumnIndex] = val;
}
}
excel.Visible = true;
[/quote