PDA

View Full Version : نمایش ستون های مخفی شده DatagridView هنگام انتقال اطلاعات به اکسل



hojjjat
یک شنبه 23 فروردین 1394, 16:14 عصر
سلام
من یک گرید ویو دارم که ۸ تا ستون داره میخوام بعضی از ستون هاش نمایش داده نشن..
خوب ب راحتی کد
dataGridView2.Columns[0].Visible = false;
رو مینویسم
مشکل جای میشه که بخوام دیتا گرید ویوو رو ببرم توی اکسل یا پرینت بگیرم اون ستون ها هم میاید
راه حل چیه؟

malizergani
یک شنبه 23 فروردین 1394, 23:48 عصر
سلام دوست عزیز

شما بایستی کدتون رو قرار بدین تا بهتر بتونیم کمکتون کنیم.

ممکنه شما محدودیت ستون رو قرار ندادین و گفتین تمام ستون های گرید رو بریزه توی اکسل!!!:متفکر:

dizart
یک شنبه 23 فروردین 1394, 23:59 عصر
سلام دوست گرامی

زمانی که اطلاعات رو از دیتابیستون میخونین اونجا باید فیلتر کنید که چه فیلدهایی رو نیاز دارین برای مثال من کد sql رو براتون میذارم که شاید بتونه راه رو به شما نشون بده.

با فرض اینکه شما 5 ستون به اسم col1 , col2 ,col3 , col4 ,col5 در tblTest داریم و ما نیاز به انتخاب col1 , col4 داریم که به این صورت کد رو مینویسیم.

select col1,col4 from tblTest

malizergani
دوشنبه 24 فروردین 1394, 01:11 صبح
چیزی که خودم استفاده کردم توی پروژه هام


private void ExportDataSetToExcel(DataSet ds)
{
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
excelApp.Workbooks.Add(Microsoft.Office.Interop.Ex cel.XlSheetType.xlWorksheet);
Microsoft.Office.Interop.Excel.Workbook excelWorkBook = excelApp.Workbooks[1];


foreach (DataTable table in ds.Tables)
{
Microsoft.Office.Interop.Excel.Worksheet excelWorkSheet = excelWorkBook.Sheets[1];
excelWorkSheet.Name = "Sheet1";


for (int i = 1; i < table.Columns.Count + 1; i++)
{
string col_Name = "";
switch (table.Columns[i - 1].ColumnName)
{
case "Col1": { col_Name = @"کدملی"; } break;
case "Col4": { col_Name = @"نام خانوادگی"; } break;
}


excelWorkSheet.Cells[1, i] = col_Name;
excelWorkSheet.Columns[i].AutoFit();
}


for (int j = 0; j < table.Rows.Count; j++)
{


for (int k = 0; k < table.Columns.Count; k++)
{
if (k == 0)
{
int _code = int.Parse(table.Rows[j].ItemArray[k].ToString());




TableCustomer_Child = (from child in Settings.db.tbl_Customer_Childs
join customer in Settings.db.tbl_Customers
on child.ID_Customer equals customer.ID
where customer.Code == _code &&
customer.Del == false
orderby customer.Code
select child);


excelWorkSheet.Cells[j + 2, k + 1] = table.Rows[j].ItemArray[k].ToString();
}
else
excelWorkSheet.Cells[j + 2, k + 1] = table.Rows[j].ItemArray[k].ToString();
}
}
}


SaveFileDialog save = new SaveFileDialog()
{
Title = "Save File",
FileName = this.lbl_Title.Text + ".xlsx",
};


if (save.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
excelWorkBook.SaveAs(save.FileName);
excelWorkBook.Close();
excelApp.Quit();
Marshal.ReleaseComObject(excelApp);


MessageBox.Show(@"استخراج اطلاعات با موفقیت انجام شد");


return;
}


excelWorkBook.Close();
excelApp.Quit();
Marshal.ReleaseComObject(excelApp);
}