SMirzakarimi
شنبه 06 شهریور 1389, 15:36 عصر
با سلام
من قطعه کد زیر رو برای تبدیل اطلاعات datatable از sql به Excel استفاده کردم
#region
try
{
SqlConnection conn = newSqlConnection("Integrated Security=yes;Initial Catalog=Emp;Data Source=(local)");
conn.Open();
SqlCommand command = newSqlCommand("select * from emp", conn);
SqlDataAdapter adapter = newSqlDataAdapter(command);
System.Data.DataTable dt = new System.Data.DataTable();
adapter.Fill(dt);
Microsoft.Office.Interop.Excel.ApplicationClass excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
excel.Application.Workbooks.Add(true);
System.Data.DataTable table = dt;
int ColumnIndex = 0;
foreach (System.Data.DataColumn col in table.Columns)
{
ColumnIndex++;
excel.Cells[1, ColumnIndex] = col.ColumnName;
} int rowIndex = 0;
foreach (DataRow row in table.Rows)
{
rowIndex++;
ColumnIndex = 0; foreach (DataColumn col in table.Columns)
{
ColumnIndex++;
excel.Cells[rowIndex + 1, ColumnIndex] = row[col.ColumnName];
}
}
excel.Visible = true;
Worksheet worksheet = (Worksheet)excel.ActiveSheet;
worksheet.Activate();
}
catch (XmlException exml)
{
// catch an xmlexception errors
MessageBox.Show(exml.Message);
}
#endregion
اما پیغام خطا میده
COMException
Old format or Invalid type library
چون اولین باره میخوام این کار رو بکنم
نمیدونم این error واسه چیه
میشه کمک کنید؟
البته قبلا توی refrence ها قبلا excel رو add کردم
من قطعه کد زیر رو برای تبدیل اطلاعات datatable از sql به Excel استفاده کردم
#region
try
{
SqlConnection conn = newSqlConnection("Integrated Security=yes;Initial Catalog=Emp;Data Source=(local)");
conn.Open();
SqlCommand command = newSqlCommand("select * from emp", conn);
SqlDataAdapter adapter = newSqlDataAdapter(command);
System.Data.DataTable dt = new System.Data.DataTable();
adapter.Fill(dt);
Microsoft.Office.Interop.Excel.ApplicationClass excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
excel.Application.Workbooks.Add(true);
System.Data.DataTable table = dt;
int ColumnIndex = 0;
foreach (System.Data.DataColumn col in table.Columns)
{
ColumnIndex++;
excel.Cells[1, ColumnIndex] = col.ColumnName;
} int rowIndex = 0;
foreach (DataRow row in table.Rows)
{
rowIndex++;
ColumnIndex = 0; foreach (DataColumn col in table.Columns)
{
ColumnIndex++;
excel.Cells[rowIndex + 1, ColumnIndex] = row[col.ColumnName];
}
}
excel.Visible = true;
Worksheet worksheet = (Worksheet)excel.ActiveSheet;
worksheet.Activate();
}
catch (XmlException exml)
{
// catch an xmlexception errors
MessageBox.Show(exml.Message);
}
#endregion
اما پیغام خطا میده
COMException
Old format or Invalid type library
چون اولین باره میخوام این کار رو بکنم
نمیدونم این error واسه چیه
میشه کمک کنید؟
البته قبلا توی refrence ها قبلا excel رو add کردم