PDA

View Full Version : کمک - مشکل در دیتا تیبل در هنگام انتقال داده ها از دیتا گردید ویو به اکسل



mr.siahatgar
یک شنبه 13 شهریور 1390, 21:02 عصر
با سلام
من برای اینکه بتوانم داده ها از دیتا گرید ویو به اکسل انتقال بدم تمام تاپیک های موجود رو خوندم و مانند همانها عمل کردم ولی یه مشکل به وجود میاد
در تمام تاپیکها نوشته اول using microsoft.ofice.intrope.excel را فراخوانی کنید ولی وقتی من اینکار را انجام میدم و کدهای مربوط به انتقال به اکسل را میزنم پیغام خطا میده که دیتا تیبل شما با using system.data تداخل داره و برنامه اجرا نمیشه
باید چکار کنم تا این پیغام نده

ahrimaneahurai
یک شنبه 13 شهریور 1390, 21:57 عصر
به این لینک (http://1mohammadi.ir/csharp/work-with-excel-in-csharp)سر بزنید

mr.siahatgar
یک شنبه 13 شهریور 1390, 22:36 عصر
سلام دوست گرامی
متاسفانه من مانند لینک دقیقا عمل میکنم ولی چون دیتا گرید ویو از یک جدول از sql پر میشه من از دیتا تیبل استفاده میکنم و وقتی از Microsoft.Office.Interop.Excel استفاده میکنم به من پیغام خطا میده که دیتاتیبل شما به دلیل اینکه اشتراک دارد با Microsoft.Office.Interop.Excel و using .system.data قابل استفاده نمیباشد و من دلیل این پیغام رو نمی دونم
نمی دونم باید چکار کنم

ahrimaneahurai
یک شنبه 13 شهریور 1390, 23:19 عصر
متن خطا و محلی که خطا میده رو بذار

mr.siahatgar
دوشنبه 14 شهریور 1390, 12:35 عصر
متن خطا و محلی که خطا میده رو بذار

دوست گرامی من ابتدا یک کلاس درست کردم به نام databased
و کدهای زیر را توش قرار دادم\


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace imd
{
public class databased
{
public string server = ".";
public string database = "imd";
public string username;
public string password;
private SqlConnection con;
private SqlCommand cmd;
private SqlDataAdapter da;
public datfabased()
{
con = new SqlConnection();
cmd = new SqlCommand();
da = new SqlDataAdapter();
cmd.Connection = con;
da.SelectCommand = cmd;
}
public void connect()
{
string cs = "Data Source=.;Initial Catalog=imd;Integrated Security=True";
cs = string.Format(cs, server, database);
con.ConnectionString = cs;
con.Open();
}
public void disconnect()
{
con.Close();
}
public DataTable select(string sql)
{
cmd.CommandText = sql;
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
public void docommand(string sql)
{
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}


}



و بعد یه کلاس درست کردم به نام insert
و کدهای زیر را توش قرار دادم

public DataTable select2()
{
base.connect();
DataTable dt = base.select("select * from imdtable ");
base.disconnect();
return dt;

}

و بعد از درون فرم یک دیتاگرید ویو قرار دادم و یک باتون و در زیر باتون کد زیر را قرار دادم

nsert d = new insert();

DataTable dt = d.select2();
dataGridView1.DataSource = dt;

تا اینجا هیچ مشکلی نیست و جدول را به من نشون میده
ولی وقتی using Microsoft.Office.Interop.Excel;
اضافه میکنم
برنامه اجرا نمیشه و خطا زیر میده

Error 4 'DataTable' is an ambiguous reference between 'System.Data.DataTable' and 'Microsoft.Office.Interop.Excel.DataTable' D:\nasb\b\5\imd-04-09-2011.4-excel\imd\Form3.cs 866 13 imd

میشه راهنمایی کنید

payman_xxp
دوشنبه 14 شهریور 1390, 14:52 عصر
سلام
از کدوم ورژن آفیس استفاده میکنید؟
از قسمت add reference به تب COM برید و Microsoft Excel Object Libraryرو به برنامه اضافه کنید حل میشه.
اگه بازم مسئله حل نشد از این لینک کمک بگیرید:
How to automate Microsoft Excel from Microsoft Visual C#.NET (http://support.microsoft.com/kb/302084)

موفق باشید.

mr.siahatgar
دوشنبه 14 شهریور 1390, 16:43 عصر
سلام
از کدوم ورژن آفیس استفاده میکنید؟
از قسمت add reference به تب COM برید و Microsoft Excel Object Libraryرو به برنامه اضافه کنید حل میشه.
اگه بازم مسئله حل نشد از این لینک کمک بگیرید:
How to automate Microsoft Excel from Microsoft Visual C#.NET (http://support.microsoft.com/kb/302084)

موفق باشید.

متاسفانه مشکلم حل نشد
دز ضمن من از افیس 2010 استفاده میکنم ایا میتونه مشکل از اون باشه و اگر هست باید چکار کنم

mr.siahatgar
سه شنبه 15 شهریور 1390, 09:50 صبح
متاسفانه مشکلم حل نشد
دز ضمن من از افیس 2010 استفاده میکنم ایا میتونه مشکل از اون باشه و اگر هست باید چکار کنم


لطفا یک نفر راهنمایی کنه

mr.siahatgar
سه شنبه 15 شهریور 1390, 16:34 عصر
با سلام
بعضی وقتها یه مشکل کوچک مدتها وقت ادم رو میگیره
مشکل من که حل شد انشالله مشکل همه حل بشه
با اضافه کردن System.Data به اول همه جاهایی که datatabel بود مشکلم حل شد ولی علتش رو نفهمیدم اخه من اولش using System.Data اضافه کرده بودم به هر حال مشکل حل شد
با تشکر از دوستان گرامی

faravaghi
سه شنبه 15 شهریور 1390, 18:07 عصر
سلام،
خودتون تو پست 5 گفتین دیگه:

Error 4 'DataTable' is an ambiguous reference between 'System.Data.DataTable' and 'Microsoft.Office.Interop.Excel.DataTable' D:\nasb\b\5\imd-04-09-2011.4-excel\imd\Form3.cs 866 13 imd
هم Microsoft.Office.Interop.Excel یک DataTable داره هم System.Data .
پس برای اینکه سیستم بفهمه که از کدوم یکی داری استفاده می کنی باید نامش رو کامل ذکر کنید.