PDA

View Full Version : سوال: انتقال آرایه دو بعدی به اکسل



f_g1348
دوشنبه 28 اردیبهشت 1394, 20:32 عصر
سلام
دوستان چطور می تونم یک آرایه دو بعدی که در c# دارم رو به یک فایل اکسل صادر کنم ؟
ممنون میشم کسی راهنمایی کنه

دلتنگ اسمان
دوشنبه 28 اردیبهشت 1394, 21:33 عصر
سلام نگفتی تا چه حد خودت نوشتی؟ اصلا با اکسل میتونی ارتباط برقرار کنی؟ اگه میتونی با اکسل ارتباط برقرار کنی یه Range تعریف کن (میشه گفت ارایه تک بعدی بصورت ستونی) و مقادیر هر خانه ارایه دو بعدی رو با یه حلقه دراین ارایه تک بعدی قراربده.

Javad_raouf
سه شنبه 29 اردیبهشت 1394, 09:07 صبح
من از این استفاده می کنم: DanielRieck.ExcelExporter
من با این کد از دیتاگریدویو خروجی Excel می گیرم:
DanielRieck.ExcelExporter.ExcelExporter excel = new DanielRieck.ExcelExporter.ExcelExporter();
DataTable dt = new DataTable();
foreach (DataGridViewColumn x in dgv.Columns)
if (x.Visible)
{
dt.Columns.Add(x.Name);
excel.Columns.Add(x.Name);
dt.Columns[dt.Columns.Count - 1].Caption = x.HeaderText;
excel.Columns[excel.Columns.Count - 1].HeaderText = x.HeaderText;
}
foreach (DataGridViewRow x in dgv.Rows)
{
string[] cells = new string[dt.Columns.Count];
for (int i = 0; i < cells.Length; i++)
if (x.Cells[dt.Columns[i].ColumnName].Value != null)
cells[i] = x.Cells[dt.Columns[i].ColumnName].Value.ToMyString();
else
cells[i] = "";
dt.Rows.Add(cells);
}
excel.DataSource = dt;
excel.Format = DanielRieck.ExcelExporter.ExcelExporterFormat.Xlsx ;
excel.AutoFitColumns = false;
excel.ShowGrid = true;
excel.GridStyle.BorderWeight = DanielRieck.OfficeInterop.Excel.XlBorderWeight.xlT hin;
excel.GridStyle.Color = Color.LightGray;
excel.GridStyle.LineStyle = DanielRieck.OfficeInterop.Excel.XlLineStyle.xlCont inuous;
excel.SaveXls("C:\\A.Xlsx");
شما بسته به نیازت کد رو تغییر بده

kolibri
شنبه 29 اسفند 1394, 06:37 صبح
ببخشید گرد و خاک بلند می کنم!

من می خوام از این روش استفاده کنم و افزونه ExcelExport
private void button1_Click(object sender, EventArgs e)
{
string str = System.IO.Directory.GetCurrentDirectory();
new ExcelExport()
.AddSheet("Sample Names", new[] {
new { Name = "Bill Stewart", ZipCode = "00347", Birth_Date = new DateTime(1987, 6, 5) },
new { Name = "Russ Porter", ZipCode = "04257", Birth_Date = new DateTime(1956, 7, 8) },
new { Name = "Rodrick Rivers", ZipCode = "19867", Birth_Date = new DateTime(1956, 7, 8) }
}).ExportTo(System.IO.Directory.GetCurrentDirector y()+ "Sample.xlsx")
;


}


خط آخر باید چی بنویسم که بتونم در فولدر برنامه ایجاد بشه؟ الان این رو که نوشتم خطا میده!:

An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll


Additional information: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

تشکر