سلام
میخواهم از دیتا گرید ویو که با استفاذه از دیتا تیبل پر میشه خروجی اکسل یا xml با سرعت بالا داشته باشم
سلام
میخواهم از دیتا گرید ویو که با استفاذه از دیتا تیبل پر میشه خروجی اکسل یا xml با سرعت بالا داشته باشم
سلام
من از کامپوننت Telerik RadGridView استفاده می کنم.واسه خروجی به اکسل باید اول این رو اضافه کنید:
using Telerik.WinControls.Export;
بعدش این کد رو واسه کلید خروجی به اکسل استفاده کردم:
var saveFileDialog = new SaveFileDialog()
{
FileName = "PartList" + "_" + DateTime.Now.Hour.ToString("00") + "_" + DateTime.Now.Minute.ToString("00") + "_" + DateTime.Now.Second.ToString("00"),
DefaultExt = "*.xlsx",
Filter = "Excel Files (*.xlsx)|*.xlsx",
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolde r.MyDocuments)
};
string SaveDest = saveFileDialog.InitialDirectory + "\\" + saveFileDialog.FileName + saveFileDialog;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
GridViewSpreadExport spreadExporter = new GridViewSpreadExport(this.radGridListPart);
SpreadExportRenderer exportRenderer = new SpreadExportRenderer();
spreadExporter.RunExport(SaveDest, exportRenderer);
MessageBox.Show("فایل اکسل تهیه و در مسیر " + saveFileDialog.InitialDirectory.ToString() + " ذخیره گردید");
}
ممنون از پاسخ که دادید
متاسفانه در شبکه ای که کار میکنم استفاده از این کامپوننت ممکن نیست
using System.Data.SqlClient;
namespace ExportToExcelExample
{
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source=(local);Initial Catalog=TestNo1ForLogin";
string query = "SELECT * FROM MyTable";
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection))
{
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
using (XLWorkbook workbook = new XLWorkbook())
{
workbook.Worksheets.Add(dataTable, "Sheet1");
workbook.SaveAs("output.xlsx");
}
}
}
}
}
}
یا این کد
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Xml.Serialization;
namespace ExportToXmlExample
{
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source=(local);Initial Catalog=TestNo1ForLogin";
string query = "SELECT * FROM MyTable";
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection))
{
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
using (TextWriter writer = new StreamWriter("output.xml"))
{
serializer.Serialize(writer, dataTable);
}
}
}
}
}
}
هر دو روش بالا با سرعت بسیار بالا عمل می کنند و قابلیت گسترش و تنظیمات بیشتری نسبت به روش های سنتی اکسل و xml دارند